2022年2月12日 星期六

Go lang 學習筆記 - 14 Variadic Functions

```

package main


import "fmt"


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

}

```

Go 也可以接受不定長度的參數

用法如上

如果要傳遞不定長度參數給function 而不是傳 array 本身要在呼叫的時候加上 "..."

執行結果:

[1 2] 3

[1 2 3] 6

[1 2 3 4] 10

沒有留言:

張貼留言

Go lang 學習筆記 - 17 Pointers

``` package main import "fmt" func zeroval(n int) {         n = 0 } func zeroptr(n *int) {         *n = 0 } func main() {         ...