Go 指针

1. 指针

指针类型,指针的值: *
指针引用,指针位置: &

type person struct {
   name string
}

func changeStrValue(p *person) {
   p.name = "new"
}

func main() {
   p := person{name: "old"}
   fmt.Println(p)
   changeStrValue(&p)
   fmt.Println(p)
}
  • 初始化
// 1
pointer1 := &person{}

// 2
var emptyPerson person
pointer2 := &emptyPerson

// 3
pointer3 := new(person)
  • 交换指针的值
func swap(a, b *int) {
   t := *a
   *a = *b
   *b = t
}

func main() {
   a, b := 1, 2
   fmt.Println(a, b)
   swap(&a, &b)
   fmt.Println(a, b)
}
posted @ 2023-03-13 16:32  ForLivetoLearn  阅读(10)  评论(0编辑  收藏  举报