go string 类型的值可以修改吗

Posted hello world

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go string 类型的值可以修改吗相关的知识,希望对你有一定的参考价值。

不能,尝试使用索引遍历字符串,来更新字符串中的个别字符,是不允许的。

string 类型的值是只读的二进制 byte slice,如果真要修改字符串中的字符,将 string 转为 []byte 修改后,再转为 string 即可。

// 修改字符串的错误示例
func main() 
 x := "text"
 x[0] = "T"  // error: cannot assign to x[0]
 fmt.Println(x)



// 修改示例
func main() 
 x := "text"
 xBytes := []byte(x)
 xBytes[0] = \'T\' // 注意此时的 T 是 rune 类型
 x = string(xBytes)
 fmt.Println(x) // Text

以上是关于go string 类型的值可以修改吗的主要内容,如果未能解决你的问题,请参考以下文章

Java String类型值真的不可改变吗?

go处理中文字符串

Go语言中的值类型和引用类型

Go36-7-数组和切片

Go笔记-结构类型常量

go语言接受者的选取