• 程序首页
  • 文章
  • 下载
  • 合集
  • 在线运行代码
手机客户端
首页 >  文章列表 > go语言中return如何使用

go语言中return如何使用

golang
343 2023-03-08

go语言中return如何使用

在go语言中,return关键字用于终止函数并可选地返回一个或多个结果值。如果return语句使用在普通的 函数中,可表示跳出该函数,不再执行函数中return后面的代码;如果return语句使用在main函数中,则表示终止main函数,也就是终止程序的运行。

在 Go 语言 中,跳转控制语句除了有 goto 、break 和 continue 之外,还可以使用 return 。

如果 return 语句使用在普通的 函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数,并可选地返回一个或多个结果值。

如果 return 语句使用在 main 函数中,表示终止 main 函数,也就是终止程序的运行。

语法:

  • 使用 return 语句,终止函数 fun 的执行,不返回值。

func fun(){

    //do something

    return

}
  • 使用 return 语句,终止函数的执行,返回值。

func funcName(param1, param2 paramType1, ...)(returnType1, returnType2, ...){

	//执行语句...

	return 返回值列表

}

说明

  • 函数的返回值可以指定一个或者多个,当返回值是多个时,需要将 returnType 的列表使用小括号括起来,不然语法会报错。

  • 在函数返回多个值时,调用函数时,也必须使用相对于的参数个数来接受返回值,如果不需要的返回值,我们可以使用匿名变量来接受保存。

return 语句的使用案例

1、使用return语句,终止函数执行不返回值

package main

import "fmt"

func checkUserParam(val int){

	if val <= 0{

		fmt.Println("UserParam check Error")

		return

	}

	fmt.Println("UserParam check OK")

}

func main() {

	//使用return语句,终止函数执行

	checkUserParam(0)

	fmt.Println("Over")

}

2、返回一个值

package main

import (

	"fmt"

)

func gcdNormal(x, y int) int {

	var n int

	if x > y {

		n = y

	} else {

		n = x

	}

	for i := n; i >= 1; i-- {

		if x%i == 0 && y%i == 0 {

			return i

		}

	}

	return 1

}

func main() {

	//函数只返回一个值

	returnVal := gcdNormal(10,20)

	fmt.Println("returnVal =", returnVal)

}

3、返回多个值

package main

import (

	"fmt"

	"math"

)

func getPageCount(pageSize int)(bool, int){

	if pageSize <= 0{

		return false, 0

	}

	pageCount := math.Ceil(float64(100/pageSize))

	return true, int(pageCount)

}

func main() {

	//Go语言的函数可以返回多个值

	if isOk, pageCount := getPageCount(10); !isOk{

		fmt.Println("Error")

	}else{

		fmt.Println("Ok, PageCount =", pageCount)

	}

}

来源: https://www.yisu.com/zixun/766876.html
上一篇 Go语言注释的作用是什么 下一篇 go语言中反射三定律指的是什么

本类最新

查看更多
  • 如何选择合适的golang框架与流行框架

    如何选择合适的golang框架与流行框架

  • golang函数通过管道传递参数的详解

    golang函数通过管道传递参数的详解

  • Golang 中函数测试的入门指南

    Golang 中函数测试的入门指南

  • Go 框架如何优化存储性能?

    Go 框架如何优化存储性能?

  • Golang 框架中的安全头部设置与响应过滤

    Golang 框架中的安全头部设置与响应过滤

  • golang框架的自动化测试方法:针对不同用例的自动化解决方案

    golang框架的自动化测试方法:针对不同用例的自动化解决方案

热门推荐

查看更多
  • golang的框架如何编写面向可测试的代码?
    golang的框架如何编写面向可测试的代码?
    501 2024-09-29
  • golang框架是否适合微服务架构?
    golang框架是否适合微服务架构?
    499 2024-09-25
  • 主流golang框架的替代选项
    主流golang框架的替代选项
    499 2024-09-28
  • 如何使用 Golang 框架进行性能监控?
    如何使用 Golang 框架进行性能监控?
    498 2024-10-21
  • 在 Go 框架中实现分布式部署的常见错误
    在 Go 框架中实现分布式部署的常见错误
    496 2024-10-15
  • 如何在 Golang 函数中使用闭包参数?
    如何在 Golang 函数中使用闭包参数?
    495 2024-09-25

热门教程

查看更多
  • 双引号是否过多,这就是问题所在!

    双引号是否过多,这就是问题所在!

  • 中国联通如何查话费余额

    中国联通如何查话费余额

  • 海贝音乐在哪里设置定时播放 开启定时停止播放流程详解

    海贝音乐在哪里设置定时播放 开启定时停止播放流程详解

  • 雪球app如何取消定投 雪球关闭分配方案方法

    雪球app如何取消定投 雪球关闭分配方案方法

  • WordPress网格插件Infinite Grid Pro v3.1.0

    WordPress网格插件Infinite Grid Pro v3.1.0

  • Java函数的返回值是否可以定义为final?

    Java函数的返回值是否可以定义为final?

玻璃钢生产厂家沧州人物玻璃钢雕塑安装烟台玻璃钢仿铜雕塑价格广东玻璃钢雕塑摆件供应松原玻璃钢雕塑定制仿玉玻璃钢雕塑造型玻璃钢发光雕塑制作武汉玻璃钢雕塑模具定制福建商场创意商业美陈多少钱玻璃钢雕塑的成型制造湖南商场开业美陈邢台玻璃钢雕塑定制商场橱窗美陈展览抚州户内玻璃钢雕塑定做价格红色玻璃钢花盆组合环保玻璃钢雕塑市场宣城玻璃钢南瓜屋雕塑景德镇玻璃钢花盆花器天水公园玻璃钢雕塑安装自贡小品玻璃钢雕塑定做洛江商场美陈制作贵州玻璃钢雕塑供应商玻璃钢花盆3立方潍坊玻璃钢卡通动物雕塑玻璃钢孔子雕塑多少钱安徽玻璃钢仿真水果雕塑价格成都耐高温玻璃钢花盆扬州仿石头玻璃钢花盆玻璃钢雕塑产品特点柳州玻璃钢气球雕塑五华区玻璃钢雕塑哪家专业香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化