Bei der Arbeit mit Arrays in Go ist es oft notwendig, Arrays mit fester Größe in Variablen zu konvertieren -große Arrays (Slices). Der Versuch, einem Slice ein Array fester Größe direkt zuzuweisen, kann jedoch zu einem Fehler führen, wie im folgenden Beispiel zu sehen ist:
package main import ( "fmt" ) func main() { var a [32]byte b := []byte(a) fmt.Println(" %x", b) }
Der Compiler würde einen Fehler auslösen:
./test.go:9: cannot convert a (type [32]byte) to type []byte
Um ein Array fester Größe erfolgreich in ein Slice zu konvertieren, können Sie den Ausdruck b := a[:] verwenden. Dadurch wird ein Slice erstellt, der auf das zugrunde liegende Array verweist, ohne eine Kopie zu erstellen:
b := a[:]
Zusätzliche Ressourcen:
Eine ausführliche Diskussion finden Sie im folgenden Blogbeitrag zu den Unterschieden zwischen Arrays und Slices in Go:
Das obige ist der detaillierte Inhalt vonWie konvertiert man in Go ein Array fester Größe in ein Slice?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!