温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

go语言中return如何使用

发布时间:2023-01-28 09:40:39 来源:亿速云 阅读:110 作者:iii 栏目:编程语言

本篇内容介绍了“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")
}

go语言中return如何使用

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)
}

go语言中return如何使用

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)
	}
}

go语言中return如何使用

“go语言中return如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI