Golang 菜鳥教程

Golang 控制語(yǔ)句

Golang 函數(shù) & 方法

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

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 語(yǔ)言函數(shù)返回多個(gè)值

在Go語(yǔ)言中,允許您使用return語(yǔ)句從一個(gè)函數(shù)返回多個(gè)值。換句話說(shuō),在函數(shù)中,單個(gè)return語(yǔ)句可以返回多個(gè)值。返回值的類型類似于參數(shù)列表中定義的參數(shù)的類型。

語(yǔ)法:

func function_name(parameter_list)(return_type_list){
     // code...
}

這里,

  • function_name:它是函數(shù)的名稱。

  • parameter-list:它包含函數(shù)參數(shù)的名稱和類型。

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

package main

import "fmt"

// myfunc返回3個(gè)int類型的值
func myfunc(p, q int) (int, int, int) {
    return p - q, p * q, p + q
}

func main() {

    //將返回值分配到,三個(gè)不同的變量
    var myvar1, myvar2, myvar3 = myfunc(4, 2)

    // 顯示值
    fmt.Printf("結(jié)果為: %d", myvar1)
    fmt.Printf("\n結(jié)果為: %d", myvar2)
    fmt.Printf("\n結(jié)果為: %d", myvar3)
}

輸出:

結(jié)果為: 2
結(jié)果為: 8
結(jié)果為: 6

為返回值命名

在Go語(yǔ)言中,允許為返回值提供名稱。你也可以在代碼中使用這些變量名。沒有必要用return語(yǔ)句來(lái)編寫這些名稱,因?yàn)镚o編譯器將自動(dòng)理解這些變量必須被分派回去。這種類型的回報(bào)被稱為裸回報(bào)。簡(jiǎn)單的返回減少了程序中的重復(fù)。

語(yǔ)法:

func function_name(para1, para2 int)(name1 int, name2 int){
    // code...
}

或

func function_name(para1, para2 int)(name1, name2 int){
   // code...
}

這里,name1name2是返回值的名稱,而para1和para2是函數(shù)的參數(shù)。

package main

import "fmt"

// myfunc返回2個(gè)int類型的值
//這里是返回值名稱
//是rectangle and square
func myfunc(p, q int) (rectangle int, square int) {
    rectangle = p * q
    square = p * p
    return
}

func main() {

    //將返回值分配到
    //兩個(gè)不同的變量
    var area1, area2 = myfunc(2, 4)

    fmt.Printf("矩形面積為: %d", area1)
    fmt.Printf("\n正方形面積為: %d", area2)

}

輸出:

矩形面積為: 8
正方形面積為: 4
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清