Go: 2-4 指针

什么是指针
如何使用指针
    var a int = 2
	var pa *int = &a
	*pa = 3
	fmt.Println(a)
空指针
    var  ptr *int
    fmt.Printf("ptr 的值为 : %x\n", ptr  )
    
    if(ptr != nil)     /* ptr 不是空指针 */
    if(ptr == nil)    /* ptr 是空指针 */
    
参数传递的几种形式

image


image


image


package main

import "fmt"

func main()  {
	var a int = 2
	var pa *int = &a
	*pa = 3
	fmt.Println(a)

	var  ptr *int
	fmt.Printf("ptr 的值为 : %x\n", ptr  )
	a,b := 3,4
	swap(&a,&b)
	fmt.Println(a,b)
	a,b = swap1(a,b)
	fmt.Println(a,b)


}

func swap(a,b *int)  {
	*b,*a = *a,*b
}

func swap1(a,b int)(int,int)  {
	return b,a
}