go语言中的函数传参都是值拷贝,如果想修改某个变量,可以创建一个指向该变量地址的指针变量,传递数据使用指针,无需拷贝数据,类型指针不能进行偏移和运算,&表示取地址,*表示根据地址取值。
package main
import "fmt"
func main(){
num := 10
p := &num //获取变量的地址
fmt.Println(p)
fmt.Println(*p) //获取变量的值
}
//输出
0xc000016078
10
go语言中的函数传参都是值拷贝,如果想修改某个变量,可以创建一个指向该变量地址的指针变量,传递数据使用指针,无需拷贝数据,类型指针不能进行偏移和运算,&表示取地址,*表示根据地址取值。
package main
import "fmt"
func main(){
num := 10
p := &num //获取变量的地址
fmt.Println(p)
fmt.Println(*p) //获取变量的值
}
//输出
0xc000016078
10