Go语言之函数使用(3)函数调用机制

本文探讨了Go语言中函数调用的机制和原则,阐述了函数调用时如何开辟新的数据空间,并通过示例和示意图帮助理解函数调用过程。此外,还详细介绍了Go函数支持返回多个值这一独特特性,包括如何忽略某些返回值的语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、函数调用的机制和原则:

  1. 当编译器执行调用函数时,就会开辟一个新的数据空间,
  2. 该空间的独立[是编译器处理]
  3. 各个数据空间在栈中。

二、通过案例,画出示意图理解函数调用过程

1、实现:函数使用传入一个数+1

package main
import (
    "fmt"
)

func test(n1 int) {
    n1++
    fmt.Println("n1=", n1) // 11
}
func main() {

     n1 := 10
     test(n1)
}

这里写图片描述
2、计算两个数,并返回

package main
import (
    "fmt"
)
 func getSum(n1 int, n2 int)  int {
    sum := n1 + n2
    return sum
}

func main() {
sum := getSum(1, 2)
}

这里写图片描述

三、基本语法

Go函数支持返回多个值,这一点是其它编程语言没有的。

func 函数名(形参列表)(返回值类型列表){
    语句...
    return 返回值列表
}

说明:
如果返回多个值时,在接收时,希望忽略某个返回值,则使用 _ 符号表示占位忽略
如果返回值只有一个,(返回值类型列表) 可以 不写 ()。

案例代码:

package main
import (
    "fmt"
)
func getSumAndSub(n1 int, n2 int) (int, int) {

    sum := n1 + n2
    sub := n1 - n2
    return sum, sub //注意顺序
}
func main() {   
    sum, sub :=  getSumAndSub(2, 8)
    fmt.Printf("sum=%d sub=%d", sum, sub)

    sum, _ = getSumAndSub(10, 8)
    fmt.Printf("sum=%d", sum)

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值