您的位置 首页 知识分享

Go 中打印字符串时,为什么使用 string() 包裹会产生预期之外的结果?

Go 中打印字符串的:使用 Println 和 string() 包裹 在 Go 语言中,您可以使用内置函数 …

Go 中打印字符串时,为什么使用 string() 包裹会产生预期之外的结果?

Go 中打印字符串的:使用 Println 和 string() 包裹

在 Go 语言中,您可以使用内置函数 Println() 直接打印字符串。但是,使用 string() 函数包裹字符串后,打印结果可能会与预期不同。这是呢?

仔细观察代码中的 if 语句,会发现 openCapcha 不是字符串,而是一个整数。当将整数转换为字符串时,Go 语言会生成整数 Unicode 字符的 UTF-8 表示。超出有效 Unicode 代码点的值将转换为 “uFFFD”。

转换规则:

  • string(‘a’) // “a”
  • string(-1) // “ufffd” == “xefxbfxbd”
  • string(0xf8) // “u00f8” == “ø” == “xc3xb8”

显然,您需要的转换不是这个。正确的转换方法应该是 strconv.Itoa(),它专门用于将整数转换为字符串。

以上就是Go 中打印字符串时,使用 string() 包裹会产生预期之外的结果?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表甲倪知识立场,转载请注明出处:http://www.spjiani.cn/wp/4786.html

作者: nijia

发表评论

您的电子邮箱地址不会被公开。

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部