一、Golang 中的指针
指针存储的是另一个变量的内存地址。
通过指针修改值会影响到原来的值。
package main
import (
"fmt"
)
func main() {
a := 10
p := &a
fmt.Println(p)
fmt.Println(*p)
*p = 30
fmt.Println(a)
}
输出:
0xc000012080
10
30
如何去改变一个指针对应的地址的值:
package main
import (
"fmt"
)
func fn1(x int) {
x = 10
}
func fn2(x *int) {
*x = 40
}
func main() {
var a = 10
fn1(a)
fmt.Println(a)
fn2(&a)
fmt.Println(a)
}
输出:
10
40
网友评论