在go语言中,return关键字用于终止函数并可选地返回一个或多个结果值。如果return语句使用在普通的 函数中,可表示跳出该函数,不再执行函数中return后面的代码;如果return语句使用在main函数中,则表示终止main函数,也就是终止程序的运行。
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
在 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) } }
登录后复制
总结
return关键字用于终止函数并可选地返回一个或多个结果值,也可用于控制程序的跳转。
-
如果 return 语句使用在普通的函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。
-
如果 return 语句使用在 main 函数中,表示终止 main 函数,也就是终止程序的运行。
【