如何将字符串(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开发者使用的标准方法?为什么第一次尝试不起作用,既然字符串已经由字节组成?提前感谢帮助!
<<>>