Menu
Coddy logo textTech

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)) // 3

Wenn 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)) // 5

Im Gegensatz dazu hat ein Array eine feste Größe. Zum Beispiel:

nums := [4]int{23}
fmt.Println(len(nums)) // 4

Obwohl 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).

challenge icon

Aufgabe

Einfach

Schreibe 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:

  1. Gib die Länge des Slices vor dem Hinzufügen der Elemente aus.
  2. Füge Elemente zum Slice hinzu.
  3. 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