指针"/>
Go学习:指针
指针
go语言也是有指针的,但是go语言的指针比较简单,主要体现在指针不能运算
var s int = 2var pa *int = &s*pa = 3fmt.Println(s)
参数传递
值传递
值传递是指在调用函数时,将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,就不会影响到实际参数
引用传递
引用传递是指在调用函数时,将实际参数的地址传递到函数中,那么在函数中对参数进行修改,将会影响到实际参数
go是值传递还是引用传递?
- go语言只有值传递一种方式
- 凡是我们调函数;参数都要拷一份传递到函数中.
参数传递与指针
参数传递
func main() {a, b := 1, 2exchange(a, b)// a,b调用exchange函数时是复制了一份a,b出来// exchange函数内对a,b的操作不会影响main函数内的a,bfmt.Println(a,b)// 1 2
}func exchange(a,b int){a,b = b,a
}
指针传递
func main() {a, b := 1, 2exchange1(&a,&b)// 这里调用exchange1传过去的是两个指向a,b的指针// 函数内将两个指针的指向互换位置,最后也会导致a,b值发生变化fmt.Println(a,b) // 2,1
}func exchange1(a,b *int){*a,*b = *b,*a
}
更多推荐
Go学习:指针
发布评论