A.44. Fungsi String

Go menyediakan package strings, isinya banyak fungsi untuk keperluan pengolahan data string. Chapter ini berisi pembahasan mengenai penggunaan fungsi yang ada di dalam package tersebut.

A.44.1. Fungsi strings.Contains()

Dipakai untuk deteksi apakah string (parameter kedua) merupakan bagian dari string lain (parameter pertama). Nilai kembaliannya berupa bool.

package main

import "fmt"
import "strings"

func main() {
    var isExists = strings.Contains("john wick", "wick")
    fmt.Println(isExists)
}

Variabel isExists akan bernilai true, karena string "wick" merupakan bagian dari "john wick".

A.44.2. Fungsi strings.HasPrefix()

Digunakan untuk deteksi apakah sebuah string (parameter pertama) diawali string tertentu (parameter kedua).

var isPrefix1 = strings.HasPrefix("john wick", "jo")
fmt.Println(isPrefix1) // true

var isPrefix2 = strings.HasPrefix("john wick", "wi")
fmt.Println(isPrefix2) // false

A.44.3. Fungsi strings.HasSuffix()

Digunakan untuk deteksi apakah sebuah string (parameter pertama) diakhiri string tertentu (parameter kedua).

var isSuffix1 = strings.HasSuffix("john wick", "ic")
fmt.Println(isSuffix1) // false

var isSuffix2 = strings.HasSuffix("john wick", "ck")
fmt.Println(isSuffix2) // true

A.44.4. Fungsi strings.Count()

Memiliki kegunaan untuk menghitung jumlah karakter tertentu (parameter kedua) dari sebuah string (parameter pertama). Nilai kembalian fungsi ini adalah jumlah karakternya.

var howMany = strings.Count("ethan hunt", "t")
fmt.Println(howMany) // 2

Nilai yang dikembalikan 2, karena pada string "ethan hunt" terdapat dua buah karakter "t".

A.44.5. Fungsi strings.Index()

Digunakan untuk mencari posisi indeks sebuah string (parameter kedua) dalam string (parameter pertama).

var index1 = strings.Index("ethan hunt", "ha")
fmt.Println(index1) // 2

String "ha" berada pada posisi ke 2 dalam string "ethan hunt" (indeks dimulai dari 0). Jika diketemukan dua substring, maka yang diambil adalah yang pertama, contoh:

var index2 = strings.Index("ethan hunt", "n")
fmt.Println(index2) // 4

String "n" berada pada indeks 4 dan 8. Yang dikembalikan adalah yang paling kiri (paling kecil), yaitu 4.

A.44.6. Fungsi strings.Replace()

Fungsi ini digunakan untuk replace atau mengganti bagian dari string dengan string tertentu. Jumlah substring yang di-replace bisa ditentukan, apakah hanya 1 string pertama, 2 string, atau seluruhnya.

var text = "banana"
var find = "a"
var replaceWith = "o"

var newText1 = strings.Replace(text, find, replaceWith, 1)
fmt.Println(newText1) // "bonana"

var newText2 = strings.Replace(text, find, replaceWith, 2)
fmt.Println(newText2) // "bonona"

var newText3 = strings.Replace(text, find, replaceWith, -1)
fmt.Println(newText3) // "bonono"

Penjelasan:

  1. Pada contoh di atas, substring "a" pada string "banana" akan di-replace dengan string "o".
  2. Pada newText1, hanya 1 huruf o saja yang tereplace karena maksimal substring yang ingin di-replace ditentukan 1.
  3. Angka -1 akan menjadikan proses replace berlaku pada semua substring. Contoh bisa dilihat pada newText3.

A.44.7. Fungsi strings.Repeat()

Digunakan untuk mengulang string (parameter pertama) sebanyak data yang ditentukan (parameter kedua).

var str = strings.Repeat("na", 4)
fmt.Println(str) // "nananana"

Pada contoh di atas, string "na" diulang sebanyak 4 kali. Hasilnya adalah: "nananana"

A.44.8. Fungsi strings.Split()

Digunakan untuk memisah string (parameter pertama) dengan tanda pemisah bisa ditentukan sendiri (parameter kedua). Hasilnya berupa slice string.

var string1 = strings.Split("the dark knight", " ")
fmt.Println(string1) // output: ["the", "dark", "knight"]

var string2 = strings.Split("batman", "")
fmt.Println(string2) // output: ["b", "a", "t", "m", "a", "n"]

String "the dark knight" dipisah oleh karakter spasi " ", hasilnya kemudian ditampung oleh string1.

Untuk memisah string menjadi slice tiap 1 string, gunakan pemisah string kosong "". Bisa dilihat contohnya pada variabel string2.

A.44.9. Fungsi strings.Join()

Memiliki kegunaan berkebalikan dengan strings.Split(). Digunakan untuk menggabungkan slice string (parameter pertama) menjadi sebuah string dengan pemisah tertentu (parameter kedua.

var data = []string{"banana", "papaya", "tomato"}
var str = strings.Join(data, "-")
fmt.Println(str) // "banana-papaya-tomato"

Slice data digabungkan menjadi satu dengan pemisah tanda dash (-).

A.44.10. Fungsi strings.ToLower()

Mengubah huruf-huruf string menjadi huruf kecil.

var str = strings.ToLower("aLAy")
fmt.Println(str) // "alay"

A.44.11. Fungsi strings.ToUpper()

Mengubah huruf-huruf string menjadi huruf besar.

var str = strings.ToUpper("eat!")
fmt.Println(str) // "EAT!"