1. 函数的调用机制
(1)通俗易懂的方式理解
(2)函数的调用过程
介绍:为了让大家更好的理解函数调用过程,看两个案例,并画出示意图。
<1> 传入一个数+1
对上图说明:
(1)在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间和其它的栈的空间分开来。
(2)在每个函数对应的栈中,数据空间是独立的,不会混淆
(3)当一个函数调用完毕(执行完毕后),程序会销毁这个函数对应的栈空间
<2> 计算两个数,并返回
package main
import (
"fmt"
)
// 一个函数 test
func test(n1 int) {
n1 = n1 + 1
fmt.Println("test() n1=",n1)
}
// 一个函数getSum
func getSum(n1 int, n2 int) int {
sum := n1 + n2
fmt.Println("getSum sum=",sum)
return sum
}
func main() {
n1 := 10
// 调用test
test(n1)
fmt.Println("main() n1=",n1)
// 调用getSum
sum := getSum(10,20)
fmt.Println("main sum=",sum)
}