go中的指针实例教程

29 阅读1分钟

假设你有一个变量。

age := 20

使用&age ,你可以得到该变量的指针,即它的内存地址。

当你有了变量的指针后,你可以通过使用* 操作符获得它所指向的值。

age := 20
ageptr = &age
agevalue = *ageptr

当你想调用一个函数并将变量作为一个参数传递时,这很有用。Go默认是在函数内复制变量的值,所以这不会改变age 的值。

func increment(a int) {
	a = a + 1
}

func main() {
	age := 20
	increment(age)

	//age is still 20
}

你可以使用指针来实现这一点。

func increment(a *int) {
	*a = *a + 1
}

func main() {
	age := 20
	increment(&age)

	//age is now 21
}

下载我的免费Go手册!

下载我的免费编程电子书!