Sobes.tech
Junior — Middle

Limbajul Go suportă posibilitatea de a efectua operații aritmetice cu pointeri?

sobes.tech AI

Răspuns de la AI

În limbajul Go, operațiile aritmetice cu pointeri nu sunt suportate direct, ca în C sau C++. Go permite efectuarea aritmeticii pointerilor doar în cazuri limitate, de exemplu, atunci când se lucrează cu slice-uri și array-uri prin indexare. Acest lucru este făcut pentru a crește siguranța și a preveni erorile de memorie. De exemplu, nu poți adăuga pur și simplu un număr la un pointer pentru a obține elementul următor, dar poți folosi indexarea slice-ului:

arr := []int{10, 20, 30}
ptr := &arr[0]
// Nu se poate face ptr + 1, dar se poate accesa arr[1]
fmt.Println(arr[1]) // 20

Astfel, Go limitează aritmetica pointerilor pentru a evita operațiuni nesigure.