go语言练习:指针

指针是一个变量,存储的是另一个变量的地址

package main

import "fmt"

func main() {
	var a string = "hello"
	var b *string    //a的类型对应,否则报错
	var c int = 1
	var d *int = &c
	b = &a
	fmt.Println(a, b)
	fmt.Println(c, d)
}

没有赋值的指针是空指针,nil

指针作为函数的参数:

package main

import "fmt"

func main() {
	var b int = 1
	var c *int = &b
	test(c)
}

func test(a *int) {
	fmt.Println(a, &a, *a)   //a代表的是b(值为1)的地址,使用*a可以取到b的值;也就是知道一个地址之后,在地址前面加*就可以取到这个地址的值;
}

//执行结果:
0x10acc070 0x10ac20f0 1

猜你喜欢

转载自www.cnblogs.com/chenadong/p/9051330.html