go / beginner
Snippet
Pointers: Direkter Speicherzugriff
Zeiger speichern Speicheradressen anstelle von Werten. Der &-Operator ermittelt die Adresse einer Variable, während * einen Zeiger dereferenziert, um auf den zugrunde liegenden Wert zuzugreifen. Zeiger sind besonders nützlich zum Ändern von Variablen in Funktionen und zum effizienten Verwalten großer Datenstrukturen.
snippet.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package mainimport "fmt"func main() {count := 10ptr := &countfmt.Println("Value:", count)fmt.Println("Address:", ptr)fmt.Println("Dereferenced:", *ptr)*ptr = 20fmt.Println("New value:", count)}
Erklärung
1
ptr := &count
& ermittelt Speicheradresse der count-Variable
2
*ptr
* dereferenziert Zeiger um auf gespeicherten Wert zuzugreifen
3
*ptr = 20
Ändern des dereferenzierten Wertes ändert Originalvariable