Avatar ·

Como converter uma string em um slice de bytes ([]byte) em Go?

Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema que parece elementar, mas não consigo encontrar a solução correta.

Tenho uma string:

s := "Hello, World!"

Preciso convertê-la em um slice de bytes []byte para passar para uma função que aceita exatamente esse tipo. Tentei algumas opções, mas elas causam erros de compilação ou pânico.

Aqui está o que tentei:

package main

import "fmt"

func main() {
    s := "Hello, World!"
    // Opção 1: diretamente
    var b []byte = s
    fmt.Println(b)

    // Opção 2: usando make e copy
    b2 := make([]byte, len(s))
    b2 = s
    fmt.Println(b2)
}

A primeira opção retorna: cannot use s (type string