本文摘自php中文网,作者Guanhui,侵删。
1、多行字符串
1 2 3 |
|
注意 - 任何你在字符串中的缩进都将被保留在最终结果。
1 2 3 |
|
2. 高效的字符串连接方式
Go 允许你通过 "+" 的方式连接字符串,但这种方式在处理大量字符串连接的场景下将非常低效。使用 bytes.Buffer 连接字符串是一个更高效的方式,它会一次性将所有的内容连接起来转化成字符串。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
如果你提前准备好所有字符串,你也可以通过 strings.Join 的方式实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
3. 将整型 (或任意数据类型) 转为字符串
在大多数语言中,可轻易地将任意数据类型转型为字符串进行拼接,或用字符串插入(例如在 ruby 中这样 "ID=#{id}")。很不幸,如果你尝试在 Go 中去做这种显示而易见的操作,比如强制将整形转为字符串,你不会得到期望的结果。
1 2 |
|
你希望 s 的输出是多少?如果你像大多数人一样猜测 "123",那你就大错特错了。相反,你会得到类似 "E" 的值。这根本不是我们想要的!
相反,您应该使用像 [strconv] (https://golang.org/pkg/strconv/) 这样的包或像 fmt.Sprintf 这样的函数。例如,下面是一个使用 strconv.Itoa 将整数转换为字符串的示例。
1 2 3 4 5 6 7 8 9 10 |
|
你还可以使用 fmt.Sprintf 函数将几乎所有数据类型转换为字符串,但通常应保留在这样的实例上,如正在创建的字符串包含嵌入数据,而非在期望将单个整数转换为字符串时用。
1 2 3 4 5 6 7 |
|
Sprintf 的操作与 fmt.Printf 几乎相同,只是它没有将结果字符串输出到标准输出,而是将其作为字符串返回。
相关阅读 >>
golang1.4bootstrap无法直接在aarch64编译
更多相关阅读请进入《golang》频道 >>

Go语言101
一个与时俱进的Go编程知识库。