English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grund教程

Golang Kontrollanweisungen

Golang Funktionen & Methoden

Golang Strukturen

Golang Schnittstellen & Arrays

Go Zeichenkette(String)

Go Zeiger

Go Schnittstelle

Go Parallelität

Go Fehler(Error)

Go Sonstiges

Go Sprach Array Kopieren

In der Programmiersprache GoArrayAnders als andere Programmiersprachen sehr ähnlich. In Programmen müssen wir manchmal eine Gruppe von Daten desselben Typs speichern, zum Beispiel eine Liste von Schülernoten. Diese Art von Sammlung wird in Programmen mit Arrays gespeichert. Ein Array ist eine festgelegte Länge der Sequenz, die zur Speicherung von Elementen desselben Typs im Speicher verwendet wird. Go bietet keine spezifische eingebaute Funktion, um ein Array in ein anderes Array zu kopieren. Aber wir können eine Kopie des Arrays erstellen, indem wir es einfach durch Wert oder Referenz einer neuen Variable zuweisen.

Wenn wir eine Kopie des Arrays durch Wert erstellen und Änderungen am Wert des Originalarrays vornehmen, wird dies nicht in der Kopie des Arrays widergespiegelt. Und wenn wir eine Kopie des Arrays durch Referenz erstellen und Änderungen am Wert des Originalarrays vornehmen, wird dies in der Kopie des Arrays widergespiegelt. Dies zeigt der folgende Beispiel:

Syntax:

//Erstellen einer Kopie des Arrays durch Wert
arr := arr1
//Erstellen einer Kopie des Arrays durch Referenz
arr := &arr1

Lassen Sie uns mit einem Beispiel diese Konzeption diskutieren:

Beispiel1:

//Kopieren des Arrays durch Wert
package main
import "fmt"
func main() {
    //Erstellen und Initialisieren des Arrays
    //Kurzform der Deklaration verwenden
    my_arr1 := [5]string{"Scala", "Perl", "Java", "Python", "Go"}
    //Kopieren des Arrays in eine neue Variable
    //Hier werden die Elemente durch Wert übergeben
    my_arr2 := my_arr1
    fmt.Println("Array_1:1)
    fmt.Println("Array_2:", my_arr2)
    my_arr1[0] = "C++"
    //Hier, wenn wir das Array kopieren
    //durch Wert in ein anderes Array eingesetzt
    //dann werden Änderungen am Originalinhalt vorgenommen
    //Das Array wird nicht in
    //Kopie des Arrays
    fmt.Println("\nArray_1:1)
    fmt.Println("Array_2:2)
}

Ausgabe:

Array_1:
Array_2[Scala Perl Java Python Go]
Array_1:++ Perl Java Python Go]
Array_2:

Beispiel für das Kopieren des Arrays durch Referenz:

//Kopieren des Arrays durch Referenz
package main
import "fmt"
func main() {
    //Erstellen und Initialisieren des Arrays
    //Kurzform der Deklaration verwenden
    my_arr1 := [6]int{12, 456, 67, 65, 34, 34}
    //Kopieren des Arrays in eine neue Variable
    //Hier werden die Elemente durch Referenz übergeben
    my_arr2 := &my_arr1
    fmt.Println("Array_1:1)
    fmt.Println("Array_2:" *my_arr2)
    my_arr1[5] = 1000000
    //Hier, wenn wir das Array kopieren
    //durch Referenz in ein anderes Array eingesetzt
    //dann werden Änderungen am Originalinhalt vorgenommen
    //Das Array wird in
    //Kopie des Arrays
    fmt.Println("\nArray_1:1)
    fmt.Println("Array_2:" *my_arr2)
}

Ausgabe:

Array_1:12 456 67 65 34 34]
Array_2: [12 456 67 65 34 34]
Array_1:12 456 67 65 34 1000000]
Array_2: [12 456 67 65 34 1000000]