示例:
1 | var a int = 2 |
Go语言中的指针不能进行计算
注意:这里的Golang指针类型变量不能进行运算指的是指针本身(pa),而不是指针指向的变量值(*pa)。
¶参数传递问题
Python中的参数传递根据参数是否是可变类型非为值传递和引用传递(实际上都是引用传递)。
Golang:
- Go只有 值传递 这一种方式。
- 但是这并不意味着Go在传递的时候都要将内容进行拷贝一份,而是可以使用指针类型,传递指针变量的值(指向内容的地址),和c的用法一样。
1 | func swap(a,b *int){ |
更好的swap实现方式
1 | func swap(a,b int)(int, int){ |
两者的实现原理是不同的,前者本质上使用的是Go语言的“多重赋值”的特性实现的变量交换任务。