Elemente an ein Struktur-Slice anhängen

王林
Freigeben: 2024-02-09 14:57:18
nach vorne
826 Leute haben es durchsucht

Elemente an ein Struktur-Slice anhängen

php-Editor Yuzi ist hier, um Ihnen eine coole Technik vorzustellen – das Anbringen von Elementen an Strukturscheiben. Struct Slice ist eine in Golang verwendete Datenstruktur, die verschiedene Arten von Elementen speichern kann und dynamisch erweitert werden kann. Durch das Anhängen von Elementen an Struktur-Slices können wir Datensammlungen einfach erweitern und manipulieren und so eine flexiblere und effizientere Programmierung ermöglichen. Werfen wir einen Blick darauf, wie wir diese Technik nutzen können, um unsere Programmierkenntnisse zu verbessern!

Frageninhalt

Ich versuche, ein Element an ein Segment einer Struktur anzuhängen, aber es gibt den Fehler invalidappend zurück, was bedeutet, dass das erste Argument, das ich übergebe, kein Segment ist.

Link zum Spielplatz.

Der Code lautet wie folgt:

type Item struct {
  Attr string
}

type ItemsList []Item

type IItemsList interface {
  GetItemsList() ItemsList
  AddItem(Item)
}

func NewItemsList() IItemsList {
  return &ItemsList{}
}

func (il *ItemsList) GetItemsList() ItemsList {
  return *il
}

func (il *ItemsList) AddItem(i Item) {
  il = append(il, i)
}
Nach dem Login kopieren

Ich weiß nicht, wie dieser Anhängevorgang richtig durchgeführt wird.

Workaround

Der erste Parameter, den ich übergeben habe, war kein Slice

Der erste Parameter ist ein Zeiger auf das Slice.

type itemslist []item

func (il *itemslist) additem(i item) {
  il = append(il, i)
}
Nach dem Login kopieren

Der erste Parameter ist ein Slice.

func (il *ItemsList) AddItem(i Item) {
    *il = append(*il, i)
}
Nach dem Login kopieren

https://www.php.cn/link/97fc9b260a90d9c0aca468d2e6536980

go Programmiersprachenspezifikation

Adressbetreiber

Für den Operanden x vom Zeigertyp *t stellt die indirekte Zeigeradressierung *x die Variable vom Typ t dar, auf die x zeigt.

Das obige ist der detaillierte Inhalt vonElemente an ein Struktur-Slice anhängen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage