在go語言中,return關(guān)鍵字用于終止函數(shù)并可選地返回一個(gè)或多個(gè)結(jié)果值。如果return語句使用在普通的 函數(shù)中,可表示跳出該函數(shù),不再執(zhí)行函數(shù)中return后面的代碼;如果return語句使用在main函數(shù)中,則表示終止main函數(shù),也就是終止程序的運(yùn)行。
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
在 Go 語言 中,跳轉(zhuǎn)控制語句除了有 goto 、break 和 continue 之外,還可以使用 return 。
如果 return 語句使用在普通的 函數(shù) 中,則表示跳出該函數(shù),不再執(zhí)行函數(shù)中 return 后面的代碼,可以理解成終止函數(shù),并可選地返回一個(gè)或多個(gè)結(jié)果值。
如果 return 語句使用在 main 函數(shù)中,表示終止 main 函數(shù),也就是終止程序的運(yùn)行。
語法:
-
使用 return 語句,終止函數(shù) fun 的執(zhí)行,不返回值。
func fun(){ //do something return }
-
使用 return 語句,終止函數(shù)的執(zhí)行,返回值。
func funcName(param1, param2 paramType1, ...)(returnType1, returnType2, ...){ //執(zhí)行語句... return 返回值列表 }
說明
-
函數(shù)的返回值可以指定一個(gè)或者多個(gè),當(dāng)返回值是多個(gè)時(shí),需要將 returnType 的列表使用小括號(hào)括起來,不然語法會(huì)報(bào)錯(cuò)。
-
在函數(shù)返回多個(gè)值時(shí),調(diào)用函數(shù)時(shí),也必須使用相對(duì)于的參數(shù)個(gè)數(shù)來接受返回值,如果不需要的返回值,我們可以使用匿名變量來接受保存。
return 語句的使用案例
1、使用return語句,終止函數(shù)執(zhí)行不返回值
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語句,終止函數(shù)執(zhí)行 checkUserParam(0) fmt.Println("Over") }
2、返回一個(gè)值
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() { //函數(shù)只返回一個(gè)值 returnVal := gcdNormal(10,20) fmt.Println("returnVal =", returnVal) }
3、返回多個(gè)值
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語言的函數(shù)可以返回多個(gè)值 if isOk, pageCount := getPageCount(10); !isOk{ fmt.Println("Error") }else{ fmt.Println("Ok, PageCount =", pageCount) } }
總結(jié)
return關(guān)鍵字用于終止函數(shù)并可選地返回一個(gè)或多個(gè)結(jié)果值,也可用于控制程序的跳轉(zhuǎn)。
-
如果 return 語句使用在普通的函數(shù) 中,則表示跳出該函數(shù),不再執(zhí)行函數(shù)中 return 后面的代碼,可以理解成終止函數(shù)。
-
如果 return 語句使用在 main 函數(shù)中,表示終止 main 函數(shù),也就是終止程序的運(yùn)行。
【