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)
}
初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!