欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go語言中的return語句

 更新時間:2022年05月24日 17:01:38   作者:清風(fēng)明月li  
這篇文章主要介紹了go語言中的return語句,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助

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)文章

  • golang語言中wasm 環(huán)境搭建的過程詳解

    golang語言中wasm 環(huán)境搭建的過程詳解

    將 golang 打包為 WASM,通常有兩種打包方式,一種是 golang 自帶的,另外是使用 tinygo ,接下來通過本文給大家介紹golang語言中wasm 環(huán)境搭建的過程,感興趣的朋友一起看看吧
    2021-11-11
  • Go語言中零拷貝的原理與實現(xiàn)詳解

    Go語言中零拷貝的原理與實現(xiàn)詳解

    零拷貝是相對于用戶態(tài)來講的,即數(shù)據(jù)在用戶態(tài)不發(fā)生任何拷貝,那么零拷貝的原理是什么,又是如何實現(xiàn)的呢,下面小編就來和大家詳細聊聊吧
    2023-08-08
  • 優(yōu)雅使用GoFrame共享變量Context示例詳解

    優(yōu)雅使用GoFrame共享變量Context示例詳解

    這篇文章主要為大家介紹了優(yōu)雅使用GoFrame共享變量Context示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Go導(dǎo)入不同目錄下包報錯的解決方法

    Go導(dǎo)入不同目錄下包報錯的解決方法

    包(package)是多個Go源碼的集合,是一種高級的代碼復(fù)用方案,下面這篇文章主要給大家介紹了關(guān)于Go導(dǎo)入不同目錄下包報錯的解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 超實用的Golang通道指南之輕松實現(xiàn)并發(fā)編程

    超實用的Golang通道指南之輕松實現(xiàn)并發(fā)編程

    Golang?中的通道是一種高效、安全、靈活的并發(fā)機制,用于在并發(fā)環(huán)境下實現(xiàn)數(shù)據(jù)的同步和傳遞。本文主要介紹了如何利用通道輕松實現(xiàn)并發(fā)編程,需要的可以參考一下
    2023-04-04
  • golang時間字符串和時間戳轉(zhuǎn)換的案例

    golang時間字符串和時間戳轉(zhuǎn)換的案例

    這篇文章主要介紹了golang時間字符串和時間戳轉(zhuǎn)換的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang內(nèi)存對齊詳解

    golang內(nèi)存對齊詳解

    在golang中,每一種數(shù)據(jù)類型都有其對應(yīng)的數(shù)據(jù)類型大小,也就是占用了多少內(nèi)存空間,我們可以通過unsafe.Sizeof函數(shù),來確定一個變量占用的內(nèi)存字節(jié)數(shù),本文將詳細給大家介紹golang內(nèi)存對齊,需要的朋友可以參考下
    2023-10-10
  • 詳解為什么說Golang中的字符串類型不能修改

    詳解為什么說Golang中的字符串類型不能修改

    在接觸Go這么語言,可能你經(jīng)常會聽到這樣一句話。對于字符串不能修改,可能你很納悶,日常開發(fā)中我們對字符串進行修改也是很正常的,為什么又說Go中的字符串不能進行修改呢?本文就來通過實際案例給大家演示一下
    2023-03-03
  • 使用go來操作redis的方法示例

    使用go來操作redis的方法示例

    今天小編就為大家分享一篇關(guān)于使用go來操作redis的方法示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Mac OS系統(tǒng)安裝golang教程

    Mac OS系統(tǒng)安裝golang教程

    這篇文章主要介紹了Mac OS系統(tǒng)安裝golang教程,本文還同時介紹了Sublime Text開發(fā)工具的配置,需要的朋友可以參考下
    2015-01-01

最新評論