Heim >Backend-Entwicklung >Golang >Wie kann ich ein Go-Array in ein Slice konvertieren?

Wie kann ich ein Go-Array in ein Slice konvertieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-16 22:12:14652Durchsuche

How Can I Convert a Go Array to a Slice?

Arrays in Slices in Go konvertieren

Beim Arbeiten mit Arrays und Slices in Go kann eine Konvertierung zwischen den beiden Datentypen erforderlich sein . Dies kann nützlich sein, wenn Daten zwischen Funktionen übergeben werden, die unterschiedliche Eingabetypen erwarten.

Angenommen, Sie haben eine Funktion, die ein Array von Bytes zurückgibt:

func Foo() [32]byte { ... }

Möglicherweise müssen Sie dieses Ergebnis übergeben zu einer anderen Funktion, die ein Byte-Segment erwartet:

func Bar(b []byte) { ... }

Wenn Sie einfach versuchen, Bar(d) aufzurufen, wobei d das von Foo zurückgegebene Array ist, erhalten Sie a Typkonvertierungsfehler. Dies liegt daran, dass Arrays und Slices in Go unterschiedliche Typen sind.

Um ein Array in ein Slice umzuwandeln, können Sie die [:]-Syntax verwenden. Dadurch wird ein Slice erstellt, der auf die zugrunde liegenden Array-Daten verweist. Zum Beispiel:

d := Foo()
Bar(d[:])

Dadurch wird ein Teil der Daten aus dem Array d an die Funktion Bar übergeben. Das Slice verweist auf denselben zugrunde liegenden Puffer wie das Array, sodass keine Datenkopien stattfinden.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Go-Array in ein Slice konvertieren?. 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