在 Go 语言 中,跳转控制语句除了有 goto 、break 和 continue 之外,还可以使用 return 。
如果 return 语句使用在普通的 函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。
如果 return 语句使用在 main 函数中,表示终止 main 函数,也就是终止程序的运行。
func fun(){
//do something
return
}
使用 return 语句,终止函数 fun 的执行。
使用 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() {
fmt.Println("嗨客网(www.haicoder.net)")
//使用return语句,终止函数执行
checkUserParam(0)
fmt.Println("Over")
}
程序运行后,控制台输出如下:
我们定义了 checkUserParam 函数,并使用 if 语句 判断,如果 val 的值小于等于 0,那么就使用 return 语句,结束该函数的运行。
我们看到,输出了函数校验出错的信息和主函数最后的 Over 信息。在函数 checkUserParam 的 return 语句后面的所有的代码都不会被执行,整个函数被终止,但 main 函数并不受影响。
使用 return 语句,终止程序执行
package main
import "fmt"
func checkUserParam(val int)bool{
if val <= 0{
return false
}
return true
}
func checkPageSize(pageSize int)bool{
if pageSize > 100{
return false
}
return true
}
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//使用return语句,终止程序执行
if checkUserParam(0) == false{
fmt.Println("User Param check Err")
return
}
fmt.Println("User Param check OK")
if checkPageSize(200) == false{
fmt.Println("PageSize check Err")
return
}
fmt.Println("PageSize check OK")
}
程序运行后,控制台输出如下:
我们在主函数里面调用 checkUserParam ,如果返回了 false,那么就使用 return 语句终止程序的执行。同样,调用 checkPageSize 函数,如果返回了 false,那么就使用 return 语句终止程序的执行。
因为,checkUserParam 函数返回了 false,所以整个程序都被终止执行了。
Go 语言的 return 语句用于控制程序的跳转。如果 return 语句使用在普通的函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。
如果 return 语句使用在 main 函数中,表示终止 main 函数,也就是终止程序的运行。