1.区别于C语言中的指针,Go语言中的指针不能进行偏移与运算,是安全指针
2.Go语言中的函数传参都是值拷贝,因此我们可以通过指针来修改值
package main
import "fmt"
//区别于C语言中的指针,Go语言中的指针不能进行偏移与运算,是安全指针
//Go语言中的函数传参都是值拷贝,因此我们可以通过指针来修改值
func lbd1(x int) {
x = 100
}
func lbd2(x *int) {
*x = 100
}
func main() {
a := 1 //int型数据
lbd1(a) //只是值传递
fmt.Println("a值不变", a) //a值不变
//b := &a //*int型指针,存放a变量地址
var b *int = &a //也可以这样
lbd2(b)
fmt.Println("a值变了", a) //a值变成了100
}
a值不变 1
a值变了 100