微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

golang runes 字符串 互转

目录

字符串转runes

runes转字符串

性能


字符串转runes

  • 字符串转换为 rune 切片时,会得到一个新的切片,其中包含字符串的 Unicode 码位( runes )
  • 对于无效的 UTF-8 序列,每个无效字节的 rune 值将为 0xFFFD
r := []rune("ABC€")
fmt.Println(r)        // [65 66 67 8364]
fmt.Printf("%U\n",r) // [U+0041 U+0042 U+0043 U+20AC]

您还可以使用 range 循环访问字符串的码位。

runes转字符串

  • 当您将一小段 runes 转换为字符串时,会得到一个新字符串,该字符串是将 runes 转换为 UTF-8 编码字符串的串联。
  • 有效 Unicode 码位范围之外的值将转换为 Unicode 替换字符\uFFFD,显示为�。
s := string([]rune{'\u0041','\u0042','\u0043','\u20AC',-1})
fmt.Println(s) // ABC€�

性能

这些转换将创建一个新的切片或字符串,因此时间复杂度与处理的字节数成正比。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐