Sobes.tech
Junior — Middle

Wie erfolgt die Übergabe von Elementen zwischen Funktionen und Strukturen in der Programmiersprache Golang?

sobes.tech KI

Antwort von AI

In Go kann die Übergabe von Elementen zwischen Funktionen und Strukturen auf zwei Hauptarten erfolgen: nach Wert und nach Zeiger.

  • Nach Wert: Die Struktur oder Variable selbst wird kopiert, Änderungen innerhalb der Funktion beeinflussen das Original nicht.
  • Nach Zeiger: Die Adresse der Struktur oder Variablen wird übergeben, was es der Funktion ermöglicht, die ursprünglichen Daten zu ändern.

Beispiel:

package main
import "fmt"

type Person struct {
    Name string
    Age  int
}

func updateByValue(p Person) {
    p.Age = 30 // nur die Kopie wird geändert
}

func updateByPointer(p *Person) {
    p.Age = 30 // das Original wird geändert
}

func main() {
    person := Person{Name: "Ivan", Age: 25}
    updateByValue(person)
    fmt.Println(person.Age) // 25

    updateByPointer(&person)
    fmt.Println(person.Age) // 30
}

Wenn Sie Daten innerhalb der Funktion ändern möchten, übergeben Sie einen Zeiger auf die Struktur. Wenn keine Änderungen erforderlich sind, können Sie nach Wert übergeben.