golang 没有名字参数_Go 返回参数命名
Go 返回參數(shù)命名
在Golang中,命名返回參數(shù)通常稱為命名參數(shù)。Golang允許在函數(shù)簽名或定義中為函數(shù)的返回或結果參數(shù)指定名稱。或者可以說這是函數(shù)定義中返回變量的顯式命名。基本上,它解決了在return語句中提及變量名稱的要求。
通過使用命名返回參數(shù)或命名參數(shù),只能在函數(shù)末尾使用return關鍵字將結果返回給調用方。 當函數(shù)必須返回多個值時,通常使用此概念。
因此,為了使用戶感到舒適并增強代碼的可讀性,Golang提供了此功能。
聲明命名的返回參數(shù)
要聲明命名結果或返回參數(shù),只需使用函數(shù)簽名的返回類型部分。以下是在Golang中聲明函數(shù)的一般語法。
聲明沒有命名返回參數(shù)的函數(shù)的語法:func?function_name(Parameter-list)(Return_type){
//?function?body.....
}
在這里,Return_Type是可選的,它包含函數(shù)返回的值的類型。如果在函數(shù)中使用Return_Type,則必須在函數(shù)中使用return語句。
使用命名的返回參數(shù)聲明函數(shù)的語法:func?function_name(Parameter-list)(result_parameter1?data__type,result_parameter2?data_type,…。){
//函數(shù)體…..
//返回
}
這(result_parameter1 data__type, result_parameter2 data_type, ....)是命名返回參數(shù)列表及其類型。您可以聲明n個命名的返回參數(shù)。
示例:在下面的程序中,func calculator(a, b int) (mul int, div int)代碼行包含命名的返回參數(shù)。函數(shù)末尾的return語句不包含任何參數(shù)。Go編譯器將自動返回參數(shù)。
示例package?main
import?"fmt"
//?Main?Method
func?main()?{
//在這里調用函數(shù)
//函數(shù)返回兩個值
m,?d?:=?calculator(105,?7)
fmt.Println("105?x?7?=?",?m)
fmt.Println("105?/?7?=?",?d)
}
//?具有命名參數(shù)的函數(shù)
func?calculator(a,?b?int)?(mul?int,?div?int)?{
//在這里,簡單的賦值就可以
//并初始化它的值
mul?=?a?*?b
div?=?a?/?b
//這里有return關鍵字
//沒有任何結果參數(shù)
return
}
輸出:105?x?7?=??735
105?/?7?=??15
重要事項如果所有命名的返回參數(shù)的類型是公共的或相同的,則可以指定公共數(shù)據(jù)類型。將下面的代碼與上面閱讀的示例進行比較,以便更好地理解。//有命名參數(shù)的函數(shù)
func?calculator(a,?b?int)?(mul,?div?int)?{
此處,mul和div變量均為int類型。因此,您還可以聲明具有通用數(shù)據(jù)類型的命名參數(shù),例如函數(shù)變量(即a和b)
使用命名返回參數(shù)將增強代碼的可讀性,因為只需讀取函數(shù)簽名就可以知道返回參數(shù)。
使用命名的返回參數(shù)后,return語句通常稱為"裸返"。
默認情況下,Golang用零值定義所有命名變量,函數(shù)將能夠使用它們。如果函數(shù)未修改值,則將自動返回零值。
如果您將使用短聲明運算符(:=)初始化命名的返回參數(shù),則將給出錯誤,因為它們已被Go編譯器初始化。因此,您可以使用簡單的賦值方式(=)將值分配給命名的返回參數(shù)。//具有命名參數(shù)的函數(shù)
func?calculator(a,?b?int)?(mul?int,?div?int)?{
//在這里,它將拋出一個錯誤
//因為已經(jīng)定義了參數(shù)
//在函數(shù)簽名中
mul?:=?a?*?b
div?:=?a?/?b
//這里有return關鍵字
//沒有任何結果參數(shù)
return
}
命名返回參數(shù)或裸返回語句僅適用于短函數(shù)簽名。對于更長的函數(shù),顯式返回結果參數(shù)(不使用命名的返回參數(shù))以保持代碼的可讀性。
對于命名返回參數(shù),必須使用"裸返"的return語句。
總結
以上是生活随笔為你收集整理的golang 没有名字参数_Go 返回参数命名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Jsoup爬虫Demo
- 下一篇: 代码生成工具之界面快速生成