Avatar ·

如何在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。

我明白字符串和字节切片是不同的类型。