golang 使用值传递还是引用传递?
package main
func pass_by_var(a int) {
a++
}
func pass_by_ref(a *int) {
*a++
}
func main() {
a := 3
pass_by_var(a)//值拷贝
println("pass_by_var", a)//3
pass_by_ref(&a)//值引用
println("pass_by_ref", a)//4
}
Java 和Python 来说除了自建类型其他都是引用传递

交换两个变量的值
//不推荐写法
func swap(c, b *int) {
*c, *b = *b, *c
}
//推荐
func swap2(c, b int) (int, int) {
return b, c
}
func main() {
c := 50
b := 100
swap(&c, &b)
fmt.Println(c, b) //100 50
}