Go 學習筆記04.函數 多返回值 變參函數

函數定義

/*
我們定義了一個plus函數,接收a,b兩個參數,類型均是int,返回值也爲int
直接在main函數中調用
*/

package main

import "fmt"

func plus(a int, b int) int {
    return a + b
}

func main() {
    res := plus(1, 2)
    fmt.Println("1+2 =", res)
}

有多個返回的值得時候如何定義?

package main

import "fmt"

// 返回兩個都爲int類型
func vals() (int, int) {
    return 3, 7
}

func main() {

	// 無參調用
    a, b := vals()
    fmt.Println(a)
    fmt.Println(b)

    _, c := vals()
    fmt.Println(c)
}

變參函數

package main

import "fmt"

// 接收int類型,不限個數,參數爲nums,它其實是個切片類型
func sum(nums ...int) {
    fmt.Print(nums, " ")
    total := 0
    for _, num := range nums {
        total += num
    }
    fmt.Println(total)
}

func main() {

    sum(1, 2)
    sum(1, 2, 3)

 	// 使用`...`將切片展開傳給變參函數
    nums := []int{1, 2, 3, 4}
    sum(nums...)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章