Go 指针
目录:程序员成长之旅/Go语言学习/笔记
指针
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 的值 }
17
1 package
main 2 3 import
"fmt" 4 5 func
main () { 6
i , j :
42 , 2701 7 8
p :
& i
// 指向 i 9
fmt . Println ( * p ) // 通过指针读取 i 的值 10
p
=
21
// 通过指针设置 i 的值 11
fmt . Println ( i ) // 查看 i 的值 12 13
p
=
& j
// 指向 j 14
p
=
p
/
37
// 通过指针对 j 进行除法运算 15
fmt . Println ( j ) // 查看 j 的值 16 } 17