Go menyediakan package strings
, isinya banyak fungsi untuk keperluan pengolahan data string. Bab ini berisi pembahasan mengenai beberapa fungsi yang ada di dalam package tersebut.
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"
.
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
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
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"
.
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
.
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 kesemuanya.
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:
- Pada contoh di atas, substring
"a"
pada string"banana"
akan di-replace dengan string"o"
. - Pada
newText1
, hanya 1 hurufo
saja yang tereplace karena maksimal substring yang ingin di-replace ditentukan 1. - Angka
-1
akan menjadikan proses replace berlaku pada semua substring. Contoh bisa dilihat padanewText3
.
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"
Digunakan untuk memisah string (parameter pertama) dengan tanda pemisah bisa ditentukan sendiri (parameter kedua). Hasilnya berupa array string.
var string1 = strings.Split("the dark knight", " ")
fmt.Println(string1) // ["the", "dark", "knight"]
var string2 = strings.Split("batman", "")
fmt.Println(string2) // ["b", "a", "t", "m", "a", "n"]
String "the dark knight"
dipisah oleh karakter spasi " "
, hasilnya kemudian ditampung oleh string1
.
Untuk memisah string menjadi array tiap 1 string, gunakan pemisah string kosong ""
. Bisa dilihat contohnya pada variabel string2
.
Memiliki kegunaan berkebalikan dengan strings.Split()
. Digunakan untuk menggabungkan array 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"
Array data
digabungkan menjadi satu dengan pemisah tanda dash (-
).
Mengubah huruf-huruf string menjadi huruf kecil.
var str = strings.ToLower("aLAy")
fmt.Println(str) // "alay"
Mengubah huruf-huruf string menjadi huruf besar.
var str = strings.ToUpper("eat!")
fmt.Println(str) // "EAT!"