Go基础学习记录 - Go指南 - 指针

{app.params.name}}{app.params.name}}{app.params.name}}

环境

go version go1.10.1 darwin/amd64

 

指针

Go 具有指针。 指针保存了变量的内存地址。

类型 `*T` 是指向 T 类型值的指针。其零值为 nil 。

var p *int

 

& 操作符会生成一个指向其操作数的指针。

i := 42
p = &i

* 操作符表示指针指向的底层值。

fmt.Println(*p) // 通过指针 p 读取 i
*p = 21         // 通过指针 p 设置 i

这也就是通常所说的"间接引用"或"重定向"。

与 C 不同,Go 没有指针运算。

示例如下

package main

import "fmt"

func main() {
	i, j := 42, 2701

	p := &i         // 指向i
	fmt.Println(*p) // 通过指针读取i的值
	*p = 21         // 通过指针设置i的值
	fmt.Println(i)  // 查看i的新值

	p = &j         // 指向j
	*p = *p / 37   // 通过指针对j进行除法计算
	fmt.Println(j) // 查看j的新值
}

可以从注释上理解下指针的用法

版权声明

durban创作并维护的 小绒毛的足迹博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。

本文首发于 博客( https://www.xiaorongmao.com ),版权所有,侵权必究。

本文永久链接: https://www.xiaorongmao.com/blog/15


版权声明

durban创作并维护的 小绒毛的足迹博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。

本文首发于 小绒毛的足迹博客( https://www.xiaorongmao.com ),版权所有,侵权必究。

本文永久链接: https://www.xiaorongmao.com/blog/15