Golang中struct item字段的访问索引

如果它是字符串,是否有可能用结构字段中的某个索引更改字符?


我的意思是我可以用字符串类型进行这样的操作:


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"

}



尚方宝剑之说
浏览 121回答 1
1回答

牛魔王的故事

由于字符串在 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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go