Go语言函数的高级特性与应用
1. 函数调用差异分析
在Go语言中,函数调用存在不同的方式,例如下面两种函数调用方式就有明显差异:
// 方式A
func DoSomething(a *A) {
b = a
}
// 方式B
func DoSomething(a A) {
b = &a
}
方式A传递的是指针,而方式B传递的是值的副本并取其地址。传递指针不仅节省内存,还能在函数内部修改外部变量的值。
2. 命名返回变量
在Go语言里,函数可以有多个返回值,并且可以使用命名返回变量。以下是一个示例程序 multiple_return.go :
package main
import "fmt"
var num int = 10
var numx2, numx3 int
func main() {
numx2, numx3 = getX2AndX3(num)
PrintValues()
numx2, numx3 = getX2AndX3_2(num)
PrintValues()
}
func PrintValues() {
fmt.Printf("num = %d, 2x num = %d, 3x num = %d\n", num, numx2, numx3)
}
func getX2AndX3(input int) (int, int) {
return 2 * input, 3 * inpu
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



