首页 > 文章列表 > go语言中return如何使用

go语言中return如何使用

golang
343 2023-03-08

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

}

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)

	}

}