go 指针

概述

  1. 指针的零值是 nil, 表示“没有指向任何地址”.
  2. Go 不支持指针运算.不允许指针加减,指针偏移.
var p *int
// nil: 表示“没有指向任何地址”.
fmt.Println(p)
go指针示例
package main

import "fmt"

type User struct {
    Name string
    Age  int
}

func (u *User) GrowUp() {
    u.Age++
}

func main() {
    /**
    &User{...} 创建一个结构体并返回指针.
    user 的类型是 *User.
    */
    user := &User{Name: "Alice", Age: 20}
    user.GrowUp()
    fmt.Println(user.Age)
}