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)
}