您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“go語言中return如何使用”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
在go語言中,return關(guān)鍵字用于終止函數(shù)并可選地返回一個(gè)或多個(gè)結(jié)果值。如果return語句使用在普通的 函數(shù)中,可表示跳出該函數(shù),不再執(zhí)行函數(shù)中return后面的代碼;如果return語句使用在main函數(shù)中,則表示終止main函數(shù),也就是終止程序的運(yùn)行。
在 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 的列表使用小括號括起來,不然語法會報(bào)錯(cuò)。
在函數(shù)返回多個(gè)值時(shí),調(diào)用函數(shù)時(shí),也必須使用相對于的參數(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)
}
}
“go語言中return如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。