Element zum Slice hinzufügen
Lektion 3 von 21 im Kurs Slices und Maps in GoLang von Coddy.
In den letzten Lektionen haben wir besprochen, dass der Unterschied zwischen einem Slice und einem Array in ihrer Größe liegt, was beim Überprüfen der Länge deutlich wird.
Wenn wir zum Beispiel ein Slice wie folgt definieren:
nums := []int{23, 5, 6}Unser Slice hat drei Elemente, und die Überprüfung der Länge mit der Funktion <strong>len()</strong> ergibt 3:
nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3Wenn wir dem Slice Elemente hinzufügen und die Größe überprüfen, erhalten wir die neue Größe:
nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5Im Gegensatz dazu hat ein Array eine feste Größe. Zum Beispiel:
nums := [4]int{23}
fmt.Println(len(nums)) // 4Obwohl es weniger als 4 Elemente hat, bleibt die Länge fest.
Das Hinzufügen von Elementen zu einem Slice erfolgt mit <strong>append</strong>:
books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)Die Ausführung ergibt:
[Python Rust Golang]In Golang verfügen Slices über integrierte Funktionen, und <strong>append()</strong> ist eine davon, die es uns ermöglicht, einem bestehenden Slice neue Elemente hinzuzufügen.
Beachten Sie, dass wir aufgrund der dynamischen Größe von Slices den Index nicht zum Hinzufügen von Elementen verwenden können (
<strong>books[2] = "Golang"</strong>wird nicht funktionieren).
Aufgabe
EinfachSchreibe ein Programm, das 3 Eingaben vom Benutzer entgegennimmt und sie dem Slice namens <strong>coddy</strong> hinzufügt, wie im gegebenen Code definiert. Führe die folgenden Schritte aus:
- Gib die Länge des Slices vor dem Hinzufügen der Elemente aus.
- Füge Elemente zum Slice hinzu.
- Gib den Slice und die aktualisierte Länge nach dem Hinzufügen der Elemente aus (in verschiedenen Zeilen).
Probier es selbst
package main
import "fmt"
func main() {
// Hole die Eingabe vom Benutzer. Ändere dies nicht!
var first, second, third string
fmt.Scan(&first)
fmt.Scan(&second)
fmt.Scan(&third)
// Definiere den Slice
coddy := []string {"SQL","Rust","C#","Golang"}
// Gib die Länge aus
// Füge ein Element zum Slice hinzu
// Gib den Slice und die aktualisierte Länge aus
}Alle Lektionen in Slices und Maps in GoLang
1Einführung
Einführung2Slices
Slices vs. ArraysElement zum Slice hinzufügenSlicingSlicing-MethodenReslicingSlice-KapazitätMaximale KapazitätÜber einen Slice iterierenWiederholungs-Challenge #1