go語言中的return語句
1、基本語法和說明
在 Go 語言 中,跳轉(zhuǎn)控制語句除了有 goto 、break 和 continue 之外,還可以使用 return 。如果 return 語句使用在普通的 函數(shù) 中,則表示跳出該函數(shù),不再執(zhí)行函數(shù)中 return 后面的代碼,可以理解成終止函數(shù)。如果 return 語句使用在 main 函數(shù)中,表示終止 main 函數(shù),也就是終止程序的運行。
go函數(shù)支持返回多個值,這一點是其他編程語言沒有的
func 函數(shù)名(形參列表)(返回值類型列表){ ? 語句 ? return返回值列表 }
- 1、如果返回多個值是,在接受時,希望忽略某個返回值,則使用_符號占位忽略。
- 2、如果返回值只有一個(返回值類型列表)可以不寫()
案例演示:
package main import ( "fmt" ) func test(n1 int){ n1 = n1 + 1 fmt.Println("test() n1=",n1) } func getSum(n1 int,n2 int) int { sum := n1 + n2 fmt.Println("getSum sum=",sum) return sum } func getSumAndSub(n1 int,n2 int)(int,int){ sum := n1 + n2 sub := n1 - n2 return sum,sub } func main(){ n1 := 10 test(n1) fmt.Println("main() n1=",n1) sum := getSum(10,20) fmt.Println("main sum = ",sum) res1,res2 := getSumAndSub(8,2) fmt.Printf("res1=%v res2=%v\n",res1,res2) _,res3 := getSumAndSub(3,9) fmt.Println("res3=",res3) }
執(zhí)行結(jié)果:
test() n1= 11
main() n1= 10
getSum sum= 30
main sum = 30
res1=10 res2=6
res3= -6
2、函數(shù)的遞歸調(diào)用
2.1基本介紹
一個函數(shù)在函數(shù)體內(nèi)有調(diào)用了本身,稱之為遞歸調(diào)用
2.2遞歸調(diào)用入門
package main import ( "fmt" ) func test(n int){ if n > 2 { n-- test(n) } fmt.Println("n=",n) } func main() { test(4) }
執(zhí)行結(jié)果:
n= 2
n= 2
n= 3
3、總結(jié)
- 1、執(zhí)行一個函數(shù)時,就創(chuàng)建一個新的受保護的獨立空間(新函數(shù)棧)
- 2、函數(shù)的局部變量時獨立的,不會相互影響。
- 3、遞歸必須向退出遞歸的條件逼近,否則就是無限遞歸,死循環(huán)
- 4、當(dāng)一個函數(shù)執(zhí)行完畢,或者遇到return,就會返回,遵守誰調(diào)用就將結(jié)果返回給誰,同時當(dāng)函數(shù)執(zhí)行完畢或返回時,改函數(shù)本身也會被系統(tǒng)銷毀
到此這篇關(guān)于go語言中的return語句的文章就介紹到這了,更多相關(guān)go語言 return內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
優(yōu)雅使用GoFrame共享變量Context示例詳解
這篇文章主要為大家介紹了優(yōu)雅使用GoFrame共享變量Context示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06超實用的Golang通道指南之輕松實現(xiàn)并發(fā)編程
Golang?中的通道是一種高效、安全、靈活的并發(fā)機制,用于在并發(fā)環(huán)境下實現(xiàn)數(shù)據(jù)的同步和傳遞。本文主要介紹了如何利用通道輕松實現(xiàn)并發(fā)編程,需要的可以參考一下2023-04-04