第 8 節:函式-函式巢狀呼叫與返回值

kuibatian發表於2019-11-26

4: 函式巢狀呼叫

函式也可以像我們在前面學習if選擇結構,for迴圈結構一樣進行巢狀使用。所謂函式的巢狀使用,其實就是在一個函式中呼叫另外的函式。

package main

import "fmt"

func test1(a int, b int) {

    fmt.Println(a + b)
}

//函式引數傳遞時如果有多個引數 中間用逗號分隔
//在函式呼叫時 使用的是定義中形參的值
func test(n1, n2 int) {
    test1(n1, n2)

}

func main0401() {
    a := 10
    b := 20
    test(a, b)
}

func test3(arr ...int) {

    fmt.Println(arr)
}

//如果不定參函式呼叫時傳遞的引數為多個 不定參要寫在其他引數後面
func test2(arr ...int) {
    //不能將不定參的名稱傳遞給另外一個不定參
    //test3(arr[0], arr[1], arr[2], arr[3])
    //傳遞指定個數的資料
    test3(arr[0:4]...)
}

//不定參函式的巢狀呼叫
func main() {
    test2(1, 2, 3, 4)
}

5: 函式的返回值

package main

import "fmt"

//func 函式名(函式引數列表)(函式返回值型別)
func test4(a int, b int) (sum int) {
    sum = a + b
    //sum := a + b
    //fmt.Println("hello world")
    //return 表示函式的結束  如果函式有返回值return 可以將返回值返回
    return
    //fmt.Println("你瞅啥")
    //fmt.Println("瞅你咋地")
}
func main0501() {
    a := 10
    b := 20
    //var sum int = 0
    sum := test4(a, b)
    fmt.Println(sum)

}

//多個返回值
func test5(a int, b int) (sum int, sub int) {

    sum = a + b
    sub = a - b
    return
}
func main() {

    a := 10
    b := 20

    //函式有多個返回值 要一一對應接收資料
    sum, sub := test5(a, b)

    fmt.Println(sum, sub)
}

相關文章