GoDasturchi
The Ampersand

The Ampersand

Amperand belgisi

Har bir o'zgaruvchi xotiraning biror joyida saqlanadi, va o'sha joyning manzili bor. & operatori sizga o'sha manzilni beradi.

example.go
maxRetries := 3
fmt.Println(&maxRetries) // masalan, 0xc0000140a0 kabi narsa chop etadi

Bitta o'zgaruvchi, ikkita ifoda:

  • maxRetries3 (qiymat)
  • &maxRetries0xc0000140a0 (qiymat yashaydigan manzil)

Bu o'n oltilik son qo'rqinchli ko'rinishi mumkin, lekin bu shunchaki bir joylashuv, va u har safar ishga tushirilganda o'zgaradi.

& bergan qiymat pointer deb ataladi: u oddiy son o'rniga manzilni saqlaydi. intga pointer *int turiga ega, bu &maxRetries hosil qiladigan tur.

Har bir o'zgaruvchining o'z manzili bor

Ikkita o'zgaruvchi bir xil qiymatga ega bo'lishi mumkin, lekin baribir turli manzillarda joylashadi:

example.go
limit := 5
quota := 5
fmt.Println(&limit) // 0xc000012028
fmt.Println(&quota) // 0xc000012030

>_ Exercise

Siz maxRetries bilan ishlayapsiz. Uning manzilini pga saqlang, shunda p maxRetriesga ishora qiladi.

  • maxRetriesning manzilini oling
  • Natijani pga saqlang

Kutilgan natija:

example.go
true

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

&v sizga pointer beradi: v xotirada yashaydigan manzil.

NEXT UP

Dereferencing

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

The Ampersand

Amperand belgisi

Har bir o'zgaruvchi xotiraning biror joyida saqlanadi, va o'sha joyning manzili bor. & operatori sizga o'sha manzilni beradi.

example.go
maxRetries := 3
fmt.Println(&maxRetries) // masalan, 0xc0000140a0 kabi narsa chop etadi

Bitta o'zgaruvchi, ikkita ifoda:

  • maxRetries3 (qiymat)
  • &maxRetries0xc0000140a0 (qiymat yashaydigan manzil)

Bu o'n oltilik son qo'rqinchli ko'rinishi mumkin, lekin bu shunchaki bir joylashuv, va u har safar ishga tushirilganda o'zgaradi.

& bergan qiymat pointer deb ataladi: u oddiy son o'rniga manzilni saqlaydi. intga pointer *int turiga ega, bu &maxRetries hosil qiladigan tur.

Har bir o'zgaruvchining o'z manzili bor

Ikkita o'zgaruvchi bir xil qiymatga ega bo'lishi mumkin, lekin baribir turli manzillarda joylashadi:

example.go
limit := 5
quota := 5
fmt.Println(&limit) // 0xc000012028
fmt.Println(&quota) // 0xc000012030

>_ Exercise

Siz maxRetries bilan ishlayapsiz. Uning manzilini pga saqlang, shunda p maxRetriesga ishora qiladi.

  • maxRetriesning manzilini oling
  • Natijani pga saqlang

Kutilgan natija:

example.go
true

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

&v sizga pointer beradi: v xotirada yashaydigan manzil.

NEXT UP

Dereferencing