Kopieren von Slices
Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 82 von 109.
Die copy-Funktion in Go ermöglicht es Ihnen, Elemente von einem Slice in ein anderes zu kopieren.
Erstellen Sie ein Quell-Slice und ein Ziel-Slice:
source := []int{1, 2, 3}
dest := make([]int, 2) // Ziel mit Länge 2
// Von der Quelle zum Ziel kopieren
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)Ergebnis:
Source: [1 2 3]
Destination: [1 2]
Number of elements copied: 2Die copy-Funktion kopiert nur so viele Elemente, wie in den Ziel-Slice passen.
Aufgabe
AnfängerIn dieser Herausforderung wirst du üben, die copy-Funktion zu verwenden, um Elemente von einem Slice in ein anderes zu kopieren.
Du hast zwei Slices: source, das fruchtnamen enthält, und destination, welches ein leeres Slice mit einer Kapazität für 3 Elemente ist. Deine Aufgabe ist es, die Elemente von source nach destination mit der copy-Funktion zu kopieren.
Gib nach dem Kopieren den Inhalt des destination-Slices aus.
Spickzettel
Die copy-Funktion kopiert Elemente von einem Slice in ein anderes:
source := []int{1, 2, 3}
dest := make([]int, 2) // Ziel mit der Länge 2
// Kopieren von der Quelle zum Ziel
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)Die copy-Funktion kopiert nur so viele Elemente, wie in das Ziel-Slice passen, und gibt die Anzahl der kopierten Elemente zurück.
Probier es selbst
package main
import "fmt"
func main() {
// Quell-Slice mit fruchtnamen
source := []string{"apple", "banana", "cherry", "date"}
// Erstelle ein Ziel-Slice mit Kapazität für 3 Elemente
destination := make([]string, 3)
// TODO: Verwende die copy-Funktion, um Elemente von der Quelle zum Ziel zu kopieren
// Gib das Ziel-Slice aus
fmt.Println("Destination slice:", destination)
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- & logische Operatoren
Vergleichsoperatoren - Teil 1Vergleichsoperatoren - Teil 2Logischer UND-OperatorLogischer ODER-OperatorLogischer NICHT-OperatorGrundlagen der OperatorrangfolgeZusammenfassung - Vergleiche anstellen7Kontrollfluss: Schleifen
Die `for`-Schleife erklärtfor-Schleife - Grundlagenfor-Schleife - Nur BedingungDas `break`-SchlüsselwortDas `continue`-SchlüsselwortVerschachtelte SchleifenZusammenfassung - Aktionen wiederholen2Variablen und grundlegende Datentypen
Was ist eine VariableTypinferenz mit `:=`Ganzzahlen (int)GleitkommazahlenBoolesche WerteStringsZero ValuesKonstantenNamenskonventionenZusammenfassung - Variablen und Typen5Grundlagen der Ein- und Ausgabe
Formatierte AusgabeFormat-VerbenTypen ausgebenEinfache Benutzereingaben erhaltenZusammenfassung – Ein- und Ausgabe8Funktionen
Funktionen verstehenEine Funktion deklarierenFunktionen aufrufenFunktionsparameterEinen einzelnen Wert zurückgebenMehrere Werte zurückgebenBenannte RückgabewerteGrundlagen des Funktions-ScopesZusammenfassung – Wiederverwendbaren Code erstellen3Grundlegende Operatoren
Arithmetische OperatorenDivisionsoperatorDer Modulo-OperatorZuweisungsoperatorKombinierte ZuweisungsoperatorenInkrement und DekrementZusammenfassung - Berechnungen6Kontrollfluss: Bedingte Anweisungen
Die `if`-AnweisungDas `else`-SchlüsselwortDas `else if`-SchlüsselwortVariable Shadowing in `if`Variablen initialisierenDie `switch`-AnweisungSwitch mit AusdrückenSwitch ohne AusdruckDas `fallthrough`-SchlüsselwortZusammenfassung – Entscheidungen treffen9Zeiger
Was ist ein Zeiger?Deklarieren von ZeigervariablenDer AdressoperatorDereferenzieren von ZeigernVerwendung von Zeigern in FunktionenNil-ZeigerZusammenfassung – Zeiger verstehen12Zusammengesetzte Typen: Maps
Einführung in MapsDeklarieren von Map-LiteralenErstellen von Maps mit `make`Hinzufügen und Aktualisieren von Key-Value-PaarenZugriff auf Map-WerteÜberprüfen der Existenz von SchlüsselnLöschen von Map-EinträgenMap-LängeIterieren über MapsZusammenfassung – Key-Value-Speicher