Dalam golang, rentetan tidak boleh diubah, yang bermaksud bahawa setelah rentetan dibuat, ia tidak boleh diubah suai pada rentetan asal dan hanya boleh diubah suai dengan mencipta rentetan baharu.
Jika kita ingin menggantikan aksara tertentu dalam rentetan, biasanya terdapat dua kaedah:
Kod sampel adalah seperti berikut:
import "strings" func main() { str := "hello world" newStr := strings.ReplaceAll(str, "l", "x") fmt.Println(newStr) // 输出 hexxo worxd }
Dalam kod di atas, dengan memperkenalkan pakej rentetan, fungsi ReplaceAll() dipanggil terus untuk melengkapkan penggantian aksara. Fungsi ReplaceAll() akan menggantikan semua item yang sepadan dalam rentetan dengan rentetan yang ditentukan.
Kod sampel adalah seperti berikut:
func main() { str := "hello world" chars := []rune(str) for i := range chars { if chars[i] == 'l' { chars[i] = 'x' } } newStr := string(chars) fmt.Println(newStr) // 输出 hexxo worxd }
Dalam kod di atas, objek rentetan mula-mula ditukar menjadi rune tatasusunan, dan rune mewakili aksara Unicode, dan tatasusunan rune ialah perwakilan rentetan dalam ingatan Kemudian ia merentasi tatasusunan rune, menggantikannya dengan menilai sama ada aksara itu sama dengan 'l', dan akhirnya memperoleh rentetan yang diganti dengan menukar. tatasusunan rune kembali ke rentetan.
Secara umumnya, kaedah kedua adalah lebih fleksibel Anda boleh menggunakan gelung for untuk melintasi setiap aksara dalam rentetan dan melakukan operasi yang lebih halus, seperti menggantikan aksara tertentu sahaja. Kaedah pertama mengabstrak logik gantian ke dalam fungsi, yang lebih mudah dan lebih mudah untuk digunakan. Hanya pilih kaedah yang berbeza berdasarkan keperluan sebenar.
Atas ialah kandungan terperinci golang ganti watak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!