为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
翻翻过去那场雪 2021-10-04 18:14:08
我想知道如何从字符串中获取 Unicode 字符。例如,如果字符串是“你好”,我怎样才能得到第一个字符“你”?从另一个地方我得到一种方法:var str = "你好"runes := []rune(str)fmt.Println(string(runes[0]))它确实有效。但我还有一些疑问:还有另一种方法吗?为什么在 Go 中str[0]不从字符串中获取 Unicode 字符,而是获取字节数据?

3 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

如果你想第一个符文的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 中查看。


查看完整回答
反对 回复 2021-10-04
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

你可以这样做:


func main() {

  str := "cat"

  var s rune

  for i, c := range str {

    if i == 2 {

      s = c

    }

  }

}

s 现在等于 a


查看完整回答
反对 回复 2021-10-04

添加回答

代码语言

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信