亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Golang 菜鳥教程

Golang 控制語(yǔ)句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 返回參數(shù)命名

在Golang中,命名返回參數(shù)通常稱為命名參數(shù)。Golang允許在函數(shù)簽名或定義中為函數(shù)的返回或結(jié)果參數(shù)指定名稱?;蛘呖梢哉f(shuō)這是函數(shù)定義中返回變量的顯式命名?;旧?,它解決了在return語(yǔ)句中提及變量名稱的要求。 通過(guò)使用命名返回參數(shù)或命名參數(shù),只能在函數(shù)末尾使用return關(guān)鍵字將結(jié)果返回給調(diào)用方。 當(dāng)函數(shù)必須返回多個(gè)值時(shí),通常使用此概念。 因此,為了使用戶感到舒適并增強(qiáng)代碼的可讀性,Golang提供了此功能。

聲明命名的返回參數(shù)

要聲明命名結(jié)果或返回參數(shù),只需使用函數(shù)簽名的返回類型部分。以下是在Golang中聲明函數(shù)的一般語(yǔ)法。

聲明沒(méi)有命名返回參數(shù)的函數(shù)的語(yǔ)法:

func function_name(Parameter-list)(Return_type){
    // function body.....
}

在這里,Return_Type是可選的,它包含函數(shù)返回的值的類型。如果在函數(shù)中使用Return_Type,則必須在函數(shù)中使用return語(yǔ)句。

使用命名的返回參數(shù)聲明函數(shù)的語(yǔ)法:

func function_name(Parameter-list)(result_parameter1 data__type,result_parameter2 data_type,…。){ 
    //函數(shù)體…..
    //返回
}

這(result_parameter1 data__type, result_parameter2 data_type, ....)是命名返回參數(shù)列表及其類型。您可以聲明n個(gè)命名的返回參數(shù)。

命名返回參數(shù)Golang1

示例:在下面的程序中,func calculator(a, b int) (mul int, div int)代碼行包含命名的返回參數(shù)。函數(shù)末尾的return語(yǔ)句不包含任何參數(shù)。Go編譯器將自動(dòng)返回參數(shù)。

package main

import "fmt"

// Main Method
func main() {

    //在這里調(diào)用函數(shù)
    //函數(shù)返回兩個(gè)值
    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) {

    //在這里,簡(jiǎn)單的賦值就可以
    //并初始化它的值
    mul = a * b
    div = a / b

    //這里有return關(guān)鍵字

    //沒(méi)有任何結(jié)果參數(shù)
    return
}

輸出:

105 x 7 =  735
105 / 7 =  15

重要事項(xiàng)

  • 如果所有命名的返回參數(shù)的類型是公共的或相同的,則可以指定公共數(shù)據(jù)類型。將下面的代碼與上面閱讀的示例進(jìn)行比較,以便更好地理解。

    //有命名參數(shù)的函數(shù)
    func calculator(a, b int) (mul, div int) {

    此處,muldiv變量均為int類型。因此,您還可以聲明具有通用數(shù)據(jù)類型的命名參數(shù),例如函數(shù)變量(即ab

  • 使用命名返回參數(shù)將增強(qiáng)代碼的可讀性,因?yàn)橹恍枳x取函數(shù)簽名就可以知道返回參數(shù)。

  • 使用命名的返回參數(shù)后,return語(yǔ)句通常稱為"裸返"。

  • 默認(rèn)情況下,Golang用零值定義所有命名變量,函數(shù)將能夠使用它們。如果函數(shù)未修改值,則將自動(dòng)返回零值。

  • 如果您將使用短聲明運(yùn)算符(:=)初始化命名的返回參數(shù),則將給出錯(cuò)誤,因?yàn)樗鼈円驯籊o編譯器初始化。因此,您可以使用簡(jiǎn)單的賦值方式(=)將值分配給命名的返回參數(shù)。

    //具有命名參數(shù)的函數(shù)
    func calculator(a, b int) (mul int, div int) {
    
        //在這里,它將拋出一個(gè)錯(cuò)誤
        //因?yàn)橐呀?jīng)定義了參數(shù)
        //在函數(shù)簽名中
        mul := a * b
        div := a / b
    
        //這里有return關(guān)鍵字
        //沒(méi)有任何結(jié)果參數(shù)
        return
    }
  • 命名返回參數(shù)或裸返回語(yǔ)句僅適用于短函數(shù)簽名。對(duì)于更長(zhǎng)的函數(shù),顯式返回結(jié)果參數(shù)(不使用命名的返回參數(shù))以保持代碼的可讀性。

  • 對(duì)于命名返回參數(shù),必須使用"裸返"的return語(yǔ)句。

相關(guān)知識(shí):Golang中的函數(shù)