如何从字符串中获取单个 Unicode 字符

我想知道如何从字符串中获取 Unicode 字符。例如,如果字符串是“你好”,我怎样才能得到第一个字符“你”?


从另一个地方我得到一种方法:


var str = "你好"

runes := []rune(str)

fmt.Println(string(runes[0]))

它确实有效。但我还有一些疑问:


还有另一种方法吗?


为什么在 Go 中str[0]不从字符串中获取 Unicode 字符,而是获取字节数据?


翻翻过去那场雪
浏览 183回答 3
3回答

holdtom

如果你想第一个符文的string,你可以做func firstChar(str string) string {    return strings.SplitN(str, "",2)[0]}但是如果你想要它,rune@DidierSpezia 解决方案是最好的func firstRune(str string) (r rune) {  for _, r = range str {      return  }  return}您可以在go playground 中查看。

幕布斯7119047

你可以这样做:func main() {  str := "cat"  var s rune  for i, c := range str {    if i == 2 {      s = c    }  }}s 现在等于 a
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go