[Golang] Pointer

Golang Pointer

  • Pointer
  • 範例:
    func main() {
    	a := 42
    	fmt.Println(a)  // value
    	fmt.Println(&a) // & give you the address
    
    	fmt.Printf("%T\n", a)
    	fmt.Printf("%T\n", &a)
    
    	var b *int = &a // 這邊的 * 是 type 的一部分
    	fmt.Println(b)
    	fmt.Println(*b) // 這邊的 * 是 operater, * gives you the value stored at an address when you have the address
    	fmt.Println(*&a)
    
    	c := &a
    	fmt.Println(c)
    	
    	*c = 43
    	fmt.Println(a)
    }

     

  • 印出的結果
    42
    0x40e020
    int
    *int
    0x40e020
    42
    42
    0x40e020
    43

     

  • End