198
社区成员
发帖
与我相关
我的任务
分享字符串,大家知道属于常量,既然是常量那就不能对里面的字符进行直接修改,那如果想要修改,怎么处理?
package main
import (
"fmt"
)
func main() {
s := "Hello world"
fmt.Println(s) //Hello world
s[0] = "A" //: cannot assign to s[0] (value of type byte)
fmt.Println(s)
}
很明显这样直接修改是不行的,提示有说类型是字节数组可以,所以转换成字节数组
func main() {
s := "Hello world"
fmt.Println(s) //Hello world
bs := []byte(s)
bs[0] = 'A'
fmt.Println(string(bs)) //Aello world(ASCII码再转换成字符串)
}
如果是修改成中文或其他文字,那字节数组就不行了,介绍另一种数组,[]rune
func main() {
s := "Hello world"
fmt.Println(s) //Hello world
bs := []rune(s)
bs[0] = '好'
fmt.Println(string(bs)) //好ello world
}
期待您的加入,我们一起学习进步。更多可以参看:Go语言进阶,交叉编译,数字与字符的转换,多变参数