如何从Go中的字符串替换nth char

Pankaj Khairnar:

我想替换原始字符串中的第n个字符。我可以使用来从字符串访问第n个字符chars[i],但是当我给赋值时chars[i],会出现错误。

package main
import "fmt"

func main() {
  var chars = "abcdef"
  fmt.Println(string(chars[3]))
  chars[3] = "z" // is not working
}
传福音:

之所以发生这种情况,chars因为它实际上是一个字符串并且是不可变的。如果适当地声明了它(作为字节片),则可以在尝试时将其分配。这是一个例子。

package main
import "fmt"

func main() {
  var chars = []byte{'a', 'b', 'c', 'd', 'e', 'f'}
  fmt.Println(string(chars[3]))
  fmt.Printf("%T\n", chars)
  chars[3] = 'z'
  fmt.Println(string(chars))
}

https://play.golang.org/p/N1sSsfIBQY

或者,您可以按照其他答案中的说明使用切片。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章