go语言中修改字符串的2种方式

go语言中不能直接修改字符串的值

package main
import ("fmt")

func main()  {
  str:="helloWorld"
  // 不能直接修改字符串的值
	str[0]="H"
	fmt.Println(str)
} 

// 会报错,不能直接修改字符串的值

正确修改字符串的值(只能修改英文字符串)

先将字符串转化为 byte,然后在修改,最后再转化为字符串。
这种只能修改英文字符串,如果修改为中文,就会报错

package main
import ("fmt")

func main()  {
  str:="helloWorld"
  // 先将字符串转化为 byte
	byteStr:=[]byte(str)
  // 修改之后
	byteStr[0]= 'H'
  // 最后再转化为字符串
	fmt.Println(string(byteStr))
} 

HelloWorld

正确修改字符串的值(推荐使用这一种)

package main
import ("fmt")
func main()  {
  str:="你好Golang"
	byteStr:=[]rune(str)
	byteStr[0]= '您'
	byteStr[1]= 'N'
	fmt.Println(string(byteStr))
} 

您NGolang

posted @ 2026-09-01 20:09  何人陪我共长生  阅读(8)  评论(0)    收藏  举报