go语言中的return语句

作者:清风明月li 时间:2024-05-28 15:22:09 

1、基本语法和说明

在 Go 语言 中,跳转控制语句除了有 goto 、break 和 continue 之外,还可以使用 return 。如果 return 语句使用在普通的 函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。如果 return 语句使用在 main 函数中,表示终止 main 函数,也就是终止程序的运行。

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

func  函数名(形参列表)(返回值类型列表){
?语句
?return返回值列表
}
  • 1、如果返回多个值是,在接受时,希望忽略某个返回值,则使用_符号占位忽略。

  • 2、如果返回值只有一个(返回值类型列表)可以不写()

案例演示:

package main
import (
"fmt"
)
func test(n1 int){
n1 = n1 + 1
fmt.Println("test() n1=",n1)
}
func getSum(n1 int,n2 int) int {
sum := n1 + n2
fmt.Println("getSum sum=",sum)
return sum
}
func getSumAndSub(n1 int,n2 int)(int,int){
sum := n1 + n2
sub := n1 - n2
return sum,sub
}
func main(){
n1 := 10
test(n1)
fmt.Println("main() n1=",n1)

sum := getSum(10,20)
fmt.Println("main sum = ",sum)

res1,res2 := getSumAndSub(8,2)
fmt.Printf("res1=%v res2=%v\n",res1,res2)

_,res3 := getSumAndSub(3,9)
fmt.Println("res3=",res3)
}

执行结果:

test() n1= 11
main() n1= 10
getSum sum= 30
main sum =  30
res1=10 res2=6
res3= -6

2、函数的递归调用

2.1基本介绍

一个函数在函数体内有调用了本身,称之为递归调用

2.2递归调用入门

package main
import (
"fmt"
)
func test(n int){
if n > 2 {
n--
test(n)
}
fmt.Println("n=",n)
}
func main() {
test(4)
}

执行结果:

n= 2
n= 2
n= 3

3、总结

  • 1、执行一个函数时,就创建一个新的受保护的独立空间(新函数栈)

  • 2、函数的局部变量时独立的,不会相互影响。

  • 3、递归必须向退出递归的条件逼近,否则就是无限递归,死循环

  • 4、当一个函数执行完毕,或者遇到return,就会返回,遵守谁调用就将结果返回给谁,同时当函数执行完毕或返回时,改函数本身也会被系统销毁

来源:https://blog.51cto.com/liqingbiao/5320664

标签:go,return,语句
0
投稿

猜你喜欢

  • Scrapy 配置动态代理IP的实现

    2023-12-10 19:06:22
  • Java数据库连接池之c3p0简介_动力节点Java学院整理

    2024-01-19 18:16:03
  • python数据处理 根据颜色对图片进行分类的方法

    2022-02-27 08:41:37
  • Python 爬虫模拟登陆知乎

    2023-11-28 14:32:08
  • Oracle 中文字段进行排序的sql语句

    2009-09-26 18:58:00
  • 特殊字符、常规符号及其代码对照表

    2010-08-24 18:13:00
  • Typora 1.4.8激活 2022最新Typora破解激活使用教程

    2022-02-13 18:14:59
  • python绘制双Y轴折线图以及单Y轴双变量柱状图的实例

    2023-06-02 00:29:11
  • 使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子

    2023-08-26 23:12:32
  • Javascript中判断变量是数组还是对象(array还是object)

    2024-04-17 09:51:28
  • SQL Server 2008网络协议深入理解

    2024-01-17 02:42:34
  • Python 存储字符串时节省空间的方法

    2023-01-18 23:47:47
  • Flask框架Flask-Login用法分析

    2022-05-20 08:21:27
  • TensorFlow tf.nn.max_pool实现池化操作方式

    2021-08-20 20:36:45
  • JS逆序遍历实现代码

    2023-10-11 07:31:49
  • windows mysql 自动备份的几种方法汇总

    2024-01-25 05:44:43
  • 解决golang 反射interface{}做零值判断的一个重大坑

    2024-05-21 10:24:27
  • JavaScript编写推箱子游戏

    2024-03-17 17:47:32
  • python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案

    2021-10-02 12:40:16
  • python list.sort()根据多个关键字排序的方法实现

    2021-05-22 03:16:09
  • asp之家 网络编程 m.aspxhome.com