Go 语言的指针

  运行的程序使用变量,变量值在内存中存放,内存地址通过 & 运算符获取。

  i := 1addr := &i // 获得 i 的地址

  addr 是一个储存整数变量地址的变量,也可以说它是一个指向整数变量的指针。指针和内存地址差不多是一回事。

  获取变量地址的操作,叫做获取变量的”引用“。

  整数类型用 int 表示,指向整数的指针用 *int 表示类型。其他类型指针类似,都是在基本类型前加一个星号 *。

  在指针变量前也可以使用 * 运算符,表示从变量地址中拿出基本值,这个操作也叫做”解引用“。

  引用获取变量的地址,解引用从地址获得原本的变量。这两个操作互为逆操作。

  如果一个函数的入参是指针类型,在函数内部可以通过操作指针,改变函数外部的值。

  Go 语言的指针

  输出结果:

  initial 1After zero ptr 0&i 0xc00009a008参考资料