Junior — Middle
Jaką funkcję pełni operator `*` w języku Go, szczególnie w odniesieniu do wskaźników?
sobes.tech AI
Odpowiedź od AI
W języku Go operator * jest używany do pracy z wskaźnikami i pełni dwie główne funkcje:
-
Dereferencja wskaźnika — uzyskanie wartości, na którą wskazuje wskaźnik.
-
Deklaracja wskaźnika — przy deklaracji zmiennej z
*wskazuje się, że jest to wskaźnik na typ.
Przykład:
var a int = 10
var p *int = &a // p jest wskaźnikiem na a
fmt.Println(*p) // wypisuje 10 — wartość, na którą wskazuje p
*p = 20 // zmieniamy wartość a przez wskaźnik
fmt.Println(a) // wypisuje 20
W ten sposób * pozwala pracować z adresami i wartościami w pamięci, zapewniając niskopoziomową kontrolę nad danymi.