Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Pointers

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Pointer သည် value တည်ရှိတဲ့ memory address ကိုသိမ်းထားတာပါ။ Go မှာ pointer ကို data copy မလုပ်ချင်တဲ့အခါ၊ function ထဲမှာ original value ပြောင်းချင်တဲ့အခါ အသုံးများပါတယ်။

go
package main

import "fmt"

func updateName(name *string) {
    *name = "ThutaTech"
}

func main() {
    brand := "Old Name"
    updateName(&brand)
    fmt.Println(brand)
}

&brand က brand variable ရဲ့ address ကိုပေးတာပါ။ *name = "ThutaTech" က pointer ညွှန်ထားတဲ့ original value ကိုပြောင်းတာဖြစ်ပါတယ်။

You should see
ThutaTech

Info

Go မှာ C/C++ လို pointer arithmetic မရှိပါ။ ဒါကြောင့် pointer ကိုအသုံးပြုနိုင်ပေမဲ့ memory-level mistake အချို့ကိုကာကွယ်ပေးပါတယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Nil pointer ကို dereference လုပ်ရင် runtime panic ဖြစ်နိုင်ပါတယ်။ Pointer မသုံးခင် nil မဟုတ်ကြောင်းစစ်ပါ။
Pointers | Thuta Learning