Go中多個返回值的技巧


直接上代碼看個例子吧:

package main
import "fmt"

//返回 X+Y 和 X*Y
func Computer(X, Y int) (int, int) {
    return X+Y, X*Y
}

func main() {
    x := 10
    y := 20

    a, b := Computer(x, y)

    fmt.Printf("%d + %d = %d\n", x, y, a)
    fmt.Printf("%d * %d = %d\n", x, y, b)
}

上面的例子我們可以看到直接返回了兩個參數,當然我們也可以命名返回參數的變量,

這個例子里面只是用了兩個類型,我們也可以改成如下這樣的定義,然后返回的時候不用帶上變量名,因為直接在函數里面初始化了:

package main
import "fmt"

//返回 X+Y 和 X*Y
func Computer(X, Y int) (add int, multiplied int) { //這里命令返回參數的變量add 和 multiplied
    add = X+Y
    multiplied = X*Y
    return
}

func main() {
    x := 10
    y := 20

    a, b := Computer(x, y)

    fmt.Printf("%d + %d = %d\n", x, y, a)
    fmt.Printf("%d * %d = %d\n", x, y, b)
}

但是:如果你的函數是導出的(首字母大寫),官方建議:最好命名返回值,因為不命名返回值,雖然使得代碼更加簡潔了,但是會造成生成的文檔可讀性差。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM