Heim > Backend-Entwicklung > Golang > Wie kann ich ein Go-Slice in ein Array konvertieren, ohne es zu kopieren?

Wie kann ich ein Go-Slice in ein Array konvertieren, ohne es zu kopieren?

Susan Sarandon
Freigeben: 2024-12-08 06:14:12
Original
795 Leute haben es durchsucht

How Can I Convert a Go Slice to an Array Without Copying?

Slices in Arrays konvertieren

In Go kann die Konvertierung eines Slices in ein Array ohne Kopieren durch die Verwendung eines Tricks oder einer for-Schleife erreicht werden.

Um den Trick anzuwenden, übergeben Sie das Array als Slice an die Kopierfunktion:

type Lead struct {
  Magic        [4]byte
  Major, Minor byte
  Type         uint16
  Arch         uint16
  Name         string
  OS           uint16
  SigType      uint16
}

lead := Lead{}
copy(lead.Magic[:], buffer[0:4])
Nach dem Login kopieren

Alternativ eine for-Schleife kann verwendet werden:

for index, b := range buffer[0:4] {
    lead.Magic[index] = b
}
Nach dem Login kopieren

Mithilfe von Literalen kann ein Slice direkt in ein Array umgewandelt werden:

type Lead struct {
  Magic        [4]byte
  Major, Minor byte
  Type         uint16
  Arch         uint16
  Name         string
  OS           uint16
  SigType      uint16
}

lead := Lead{
  Magic: [4]byte{'h', 'e', 'l', 'l'},
  ...
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich ein Go-Slice in ein Array konvertieren, ohne es zu kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage