为啥我不能按照指定的 Go 引用将字符串附加到字节切片?
Posted
技术标签:
【中文标题】为啥我不能按照指定的 Go 引用将字符串附加到字节切片?【英文标题】:Why can't I append string to byte slice as the Go reference specified?为什么我不能按照指定的 Go 引用将字符串附加到字节切片? 【发布时间】:2015-03-12 05:09:22 【问题描述】:引用reference of append
of Go
作为一种特殊情况,将字符串附加到字节切片是合法的,如下所示:
slice = append([]byte("hello "), "world"...)
但我发现我不能像这个 sn-p 那样做:
package main
import "fmt"
func main()
a := []byte("hello")
s := "world"
a = append(a, s) //*Error*: can't use s(type string) as type byte in append
fmt.Printf("%s",a)
我做错了什么?
【问题讨论】:
【参考方案1】:您需要使用“...”作为后缀才能将一个切片附加到另一个切片。 像这样:
package main
import "fmt"
func main()
a := []byte("hello")
s := "world"
a = append(a, s...) // use "..." as suffice
fmt.Printf("%s",a)
你可以在这里试试:http://play.golang.org/p/y_v5To1kiD
【讨论】:
以上是关于为啥我不能按照指定的 Go 引用将字符串附加到字节切片?的主要内容,如果未能解决你的问题,请参考以下文章