JavaScript aktifken sayfa daha iyi gözükür.

Golang İşaretçiler (Özet)

 ·  ☕ 1 dk okuma süresi  ·  🐧 ksckaan1

Bazen Golang’e alışık olmayan arkadaşlarımız işaretçi tanımlama ve kullanmada problem yaşıyor.

Golang işaretçiler hakkında özet olarak şunları şöyleyebiliriz.

  • & = Değerin hafızadaki adresini temsil eder.
  • * (Değerin önündeyken) = İşaretçinin temelindeki adresi temsil eder.
  • * (Tür adının önündeyken) = Başka bir değişkenin adresini saklamak anlamına gelir.

Örnek

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package main

import "fmt"

type H struct {
    id *int
}

func main() {
    a := 10

    p := &a
    fmt.Println(p)  //0x10410020
    fmt.Println(*p) //10

    a = 11
    fmt.Println(p)  //0x10410020
    fmt.Println(*p)

    q := 90
    b := H{id: &q}
    fmt.Println(b.id)   //0x1041002c
    fmt.Println(*b.id)  //90

    q = 80
    fmt.Println(b.id)   //0x1041002c
    fmt.Println(*b.id)  //80
}
Şurada Paylaş