Heim >Backend-Entwicklung >Golang >Wie konvertiert man in Go ein Array fester Größe in ein Slice?

Wie konvertiert man in Go ein Array fester Größe in ein Slice?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 11:49:02308Durchsuche

How to Convert a Fixed-Size Array to a Slice in Go?

Konvertieren eines Arrays mit fester Größe in ein Array mit variabler Größe in Go

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:

  • [Arrays vs. Slices in Go](https://blog.logrocket.com/understanding-arrays-versus-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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn