The Ampersand
Amperand belgisi
Har bir o'zgaruvchi xotiraning biror joyida saqlanadi, va o'sha joyning manzili bor. & operatori sizga o'sha manzilni beradi.
maxRetries := 3
fmt.Println(&maxRetries) // masalan, 0xc0000140a0 kabi narsa chop etadiBitta o'zgaruvchi, ikkita ifoda:
- •
maxRetries→3(qiymat) - •
&maxRetries→0xc0000140a0(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:
limit := 5
quota := 5
fmt.Println(&limit) // 0xc000012028
fmt.Println("a) // 0xc000012030>_ Exercise
Siz maxRetries bilan ishlayapsiz. Uning manzilini pga saqlang, shunda p maxRetriesga ishora qiladi.
- •
maxRetriesning manzilini oling - •Natijani
pga saqlang
Kutilgan natija:
trueStuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
&v sizga pointer beradi: v xotirada yashaydigan manzil.
NEXT UP
Dereferencing
$ go run main.go
Kodingizni ishga tushiring