1 Star 0 Fork 29

柚子 / notebook

forked from JustryDeng / notebook 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
[07]指针、地址、间接赋值.md 1.09 KB
一键复制 编辑 原始数据 按行查看 历史
JustryDeng 提交于 2023-05-08 11:32 . 规范命名文件夹

指针、地址、间接赋值


定义枚举

  • 在值变量前加上&,可以得到值变量的地址
  • 在地址变量前加上*,可代表内存单元,即:指向该地址的值变量的值
  • 示例一:
import "fmt"

func main() {

	var a1 = 10
	p1 := a1
	fmt.Println("a1 = ", a1) // 输出:a1 =  10
	fmt.Println("p1 = ", p1) // 输出:p1 =  10

	// 在变量前加上&,可以得到变量的地址
	var a2 = 10
	p2 := &a2
	fmt.Println("a2 = ", a2)          // 输出:a2 =  10
	fmt.Println("p2(即:a2的地址) = ", p2) // 输出:p2(即:a2的地址) =  0xc00000a100

	// 在地址前加上*,可代表(指向该地址)的变量, 这里*p2就代表了变量a2; 通过给*p2赋值,就能达到间接给a2赋值分目的
	*p2 = 100
	fmt.Println("*p2 = ", *p2) // 输出:*p2 =  100
	fmt.Println("a2 = ", a2)   // 输出:a2 =  100
}

相关资料

  • 《Go语言区块链应用开发从入门到精通》 高野 编著
1
https://gitee.com/WY784755850/notebook.git
git@gitee.com:WY784755850/notebook.git
WY784755850
notebook
notebook
master

搜索帮助