如果它是字符串,是否有可能用结构字段中的某个索引更改字符?我的意思是我可以用字符串类型进行这样的操作: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 关注
- 120 浏览
添加回答
举报
0/150
提交
取消