如果它是字符串,是否有可能用結構字段中的某個索引更改字符?我的意思是我可以用字符串類型進行這樣的操作:func main() { v := "Helv" v[3] = "p"}我怎樣才能對結構字段做同樣的事情?下面的任務不起作用。type ik struct { a int b string}func main() { f := ik{1, "Pasis"} fmt.Println(f.b) f.b[2] = "r"}
1 回答

牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
由于字符串在 Go 中是不可變的,因此您需要將另一個字符串重新分配給變量。您可以通過以下切片技巧來實現這一點,
chars := "Helv"
// To replace the character in i'th index,
chars = chars[:i] + "p" + chars[i+1:]
所以,你的程序變成了,
type ik struct {
a int
b string
}
func main() {
chars := "Helv"
chars = chars[:3] + "p" + chars[4:]
fmt.Println(chars)
f := ik{1, "Pasis"}
fmt.Println(f.b)
f.b = f.b[:2] + "r" + f.b[3:]
fmt.Println(f.b)
}
去游樂場: https: //play.golang.org/p/flERg0MVXLE
- 1 回答
- 0 關注
- 139 瀏覽
添加回答
舉報
0/150
提交
取消