通俗易懂的方式的理解

golang函数调用机制:多返回值,_返回值忽略_go

函数-调用过程

介绍:为了让大家更好的理解函数调用过程, 看两个案例,并画出示意图,这个很重要。

  1. 传入一个数+1
    golang函数调用机制:多返回值,_返回值忽略_go_02
    对上图说明 :
    (1) 在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间 和其它的栈的空间区分开来。
    (2) 在每个函数对应的栈中,数据空间是独立的,不会混淆 。
    (3) 当一个函数调用完毕(执行完毕)后,程序会销毁这个函数对应的栈空间。
package main

import "fmt"

func test(n1 int){
	n1 = n1 + 1
	fmt.Println("test()方法中,n1=",n1)
}

func main(){
	n1 := 10
	test(n1)
	fmt.Println("main()方法中,n1=",n1)
}

运行结果:

test()方法中,n1= 11
main()方法中,n1= 10
  1. 计算两个数,并返回
    golang函数调用机制:多返回值,_返回值忽略_go_03
    golang函数调用机制:多返回值,_返回值忽略_go_04
return 语句

基本语法和说明

golang函数调用机制:多返回值,_返回值忽略_go_05

案例演示 1

请编写函数,可以计算两个数的和和差,并返回结果。

golang函数调用机制:多返回值,_返回值忽略_go_06

golang函数调用机制:多返回值,_返回值忽略_go_07

案例演示 2

一个细节说明: 希望忽略某个返回值,则使用 _ 符号表示占位忽略。
golang函数调用机制:多返回值,_返回值忽略_go_08