为了账号安全,请及时绑定邮箱和手机立即绑定

Golang中struct item字段的访问索引

Golang中struct item字段的访问索引

Go
尚方宝剑之说 2022-05-23 17:38:22
如果它是字符串,是否有可能用结构字段中的某个索引更改字符?我的意思是我可以用字符串类型进行这样的操作: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


查看完整回答
反对 回复 2022-05-23
  • 1 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信