我在网上发布了一个rune()在golang 中使用该功能的功能,但我很难查找它是什么.我正在阅读教程,对文档缺乏经验,因此很难找到我要找的东西.
具体来说,我试图了解为什么这会失败......
fmt.Println(rune("foo"))
Run Code Online (Sandbox Code Playgroud)
而这不是
fmt.Println([]rune("foo"))
Run Code Online (Sandbox Code Playgroud)
rune是Go中的一种类型.它只是一个别名int32,但它通常用于表示Unicode点.rune()不是函数,它是类型转换的语法rune.Go中的转换总是具有type()可能使它们看起来像函数的语法.
第一位代码失败,因为在Go中没有定义字符串到数字类型的转换.但是,在语言规范中将字符串转换为符文runes/int32s的切片是这样定义的:
将字符串类型的值转换为符文类型切片会生成包含字符串的各个Unicode代码点的切片.[ golang.org ]
因此,您的示例将打印一片值为102,111和111的符文
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |