Avatar ·

如何将字符串(string)转换为字节切片([]byte)在Go中?

大家好!我刚开始学习Go,遇到了一个问题。我需要将字符串写入字节数组,更准确地说——写入切片`[]byte`。我知道在Go中,字符串是UTF-8编码的不可变字节序列,而字节切片是可变的结构。但我不明白如何将它们关联起来。 以下是我尝试过的: ```go package main import "fmt" func main() { var s string = "Hello, Go!" var b []byte // 第一次尝试:直接赋值 b = s // 错误:cannot use s (type string) as type []byte in assignment // 第二次尝试:创建切片并复制 b = make([]byte, len(s)) copy(b, s) // 这成功了,但我不确定是否正确 fmt.Println(b) } ``` 问题:如何正确且高效地将字符串转换为字节切片?有没有经验丰富的Go开发者使用的标准方法?为什么第一次尝试不起作用,既然字符串已经由字节组成?提前感谢帮助! <<>>

程序