之前在寫python程式的時候,驚嘆於它支援多返回值的特性帶來的便利性。在學習go的時候,發現go也擁有多返回值的特性。
建立乙個多返回值的方法:
func getacar() (brand,model,capacity,color string)
呼叫:
brand,model,capacity,color :=getacar()fmt.println(brand,model,capacity,color)
2、擴充套件用法
建立乙個多返回值的方法:
func getuser()(name string ,age int ,address string)
呼叫:
var name stringvar age int
var address string
var address2 string
//第一種呼叫方式
name,age,address =getuser()
//第二種呼叫方式,不需要的返回值可以用_代替
_,_,address2 =getuser()
fmt.println(name,age,address)
fmt.println(address2)
可以看到,go強大的設計讓我們支援多樣的寫法。
參考:《go語言程式設計》-許式偉 呂桂華
函式 函式的多返回值
go noinline func test x int int,int func main go build go tool objdump s main main test函式提供多返回值。多返回值在語法上接近於 python,在實現上方式上不一樣。python 多返回值實際上打包成乙個元組返回,...
Go 學習筆記04 函式 多返回值 變參函式
我們定義了乙個plus函式,接收a,b兩個引數,型別均是int,返回值也為int 直接在main函式中呼叫 package main import fmt func plus a int b int int func main package main import fmt 返回兩個都為int型別 ...
函式返回值
這裡接著探求被調函式的返回值是如何傳遞到主調函式中的,下面為c程式。add函式通過直接返回a b的,而add1函式先定義乙個區域性變數c,儲存a b的值,然後再返回c的值。其中a b可以當成乙個臨時變數,其結果是暫時存放在暫存器中的 eax 參照反匯程式設計序,可以看出函式的值並不是通過壓棧 基址定...