Avatar ·

Wie konvertiert man einen String in ein Byte-Slice ([]byte) in Go?

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem gestoßen, das einfach erscheint, aber ich finde keine richtige Lösung.

Ich habe einen String:

s := "Hello, World!"

Ich muss ihn in ein Byte-Slice []byte konvertieren, um ihn an eine Funktion zu übergeben, die genau diesen Typ erwartet. Ich habe mehrere Varianten ausprobiert, aber sie verursachen Compiler-Fehler oder Panics.

Hier ist, was ich versucht habe:

package main

import "fmt"

func main() {
    s := "Hello, World!"
    // Variante 1: direkt
    var b []byte = s
    fmt.Println(b)

    // Variante 2: über make und copy
    b2 := make([]byte, len(s))
    b2 = s
    fmt.Println(b2)
}

Die erste Variante gibt aus: cannot use s (type string