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.