如何在Go中将字符串转换为字节切片([]byte)?
大家好!我刚开始学习Go,遇到了一个看似简单的问题,但我找不到正确的解决方案。
我有一个字符串:
s := "Hello, World!"
我需要将它转换为字节切片 []byte,以便传递给接受该类型的函数。我尝试了几种方法,但它们会导致编译错误或panic。
以下是我尝试过的:
package main
import "fmt"
func main() {
s := "Hello, World!"
// 方法1:直接转换
var b []byte = s
fmt.Println(b)
// 方法2:通过make和copy
b2 := make([]byte, len(s))
b2 = s
fmt.Println(b2)
}
第一种方法报错:cannot use s (type string) as type []byte in assignment。第二种方法也不行:cannot use s (type string) as type []byte in assignment。
我明白字符串和字节切片是不同的类型。