我想知道如何从字符串中获取 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 中查看。
幕布斯7119047
TA贡献1794条经验 获得超8个赞
你可以这样做:
func main() {
str := "cat"
var s rune
for i, c := range str {
if i == 2 {
s = c
}
}
}
s 现在等于 a
- 3 回答
- 0 关注
- 237 浏览
添加回答
举报
0/150
提交
取消
