登录
首页 >  Golang >  Go问答

如何修改字符串中的特定字符

来源:stackoverflow

时间:2024-04-24 16:09:28 440浏览 收藏

大家好,我们又见面了啊~本文《如何修改字符串中的特定字符》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

在c中,我们将字符串的字符定义为char。所以我想改变go中字符串的一个字符。

if sum%11 != int(str[strlen-1]) {
    str[strlen-1] = byte(sum % 11)
    //fmt.Printf("%T %T\n", str[strlen-1], byte(sum%11))
} else {
    fmt.Println(sum)
}

但是会报错“无法赋值给str[strlen - 1]”。 str[strlen-1] 和 byte(sum%11) 都是 uint8。为什么错了?我该如何转换?


解决方案


与 c 语言不同,go 字符串是不可变的,因此您无法修改字符串中的单个字节。但是,您可以将字符串转换为字节数组,更改它,然后将该字节数组转换为字符串。

arr:=[]byte(str)
arr[strlen-1]=byte(sum%11)
str=string(arr)

请注意,go 字符串是 utf-8 编码的。符文可以表示为多个字节。通过像这样修改字符串,您可能会得到无效的字符串。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何修改字符串中的特定字符》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>