溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

go語言中return如何使用

發(fā)布時(shí)間:2023-01-28 09:40:39 來源:億速云 閱讀:124 作者:iii 欄目:編程語言

本篇內(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")
}

go語言中return如何使用

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

go語言中return如何使用

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如何使用

“go語言中return如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(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)容。

AI