我遇到一个在线发布的函数,它在golang中使用rune()
函数,但我很难查找它是什么。我正在阅读教程,对文档缺乏经验,所以很难找到我正在寻找的内容。golang rune()函数是如何工作的
具体来说,我想知道为什么失败?
fmt.Println(rune("foo"))
这并不
fmt.Println([]rune("foo"))
我遇到一个在线发布的函数,它在golang中使用rune()
函数,但我很难查找它是什么。我正在阅读教程,对文档缺乏经验,所以很难找到我正在寻找的内容。golang rune()函数是如何工作的
具体来说,我想知道为什么失败?
fmt.Println(rune("foo"))
这并不
fmt.Println([]rune("foo"))
rune
在Go类型。它只是int32
的别名,但通常用于表示Unicode点。 rune()
不是函数,它是用于转换为rune
的类型的语法。 Go中的转化总是有语法type()
,这可能会使它们看起来像函数。
第一位代码失败,因为在Go中没有定义字符串转换为数字类型。然而,为了符/ int32s切片转换串被定义像这样的语言规范:
字符串类型的值转换为符文类型的切片产生包含字符串的各个Unicode代码点的 切片。
所以你的示例打印具有值102,111和111
的时候思考char,你可以编辑你的文章以包含你发现那个信息的链接吗? – deltaskelta
符的切片'rune'是一种类型的,不是一个函数。 – JimB
该代码试图从类型字符串到类型符文和[]符文进行[转换](https://golang.org/ref/spec#Conversions)。符文是一个unicode代码点。你不能将一个字符串转换成单个符文,但是你可以像第二个例子中那样将它转换为符文片段。 – Michael
在你熟悉符文 – Sridhar