iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0

...

在Golang中,刪節號 Ellipsis 是一個有趣又有用的語法,它可以應用在包括函數、切片和數組。 ...在處理可變參數的情況下更具有靈活性。

切片...

...在處理 slice 時非常有用。它將切片的元素展開,通常用於函數參數中,以接受可變數量的參數。

printNumbers 函數接受可變數量的整數參數,並使用...將切片nums中的元素展開,然後印出。

func printNumbers(numbers ...int) {
    for _, num := range numbers {
        fmt.Println(num)
    }
}

func main() {
    nums := []int{1, 2, 3, 4, 5}
    printNumbers(nums...)
}

切片合併

在這邊使用...slice2中的元素展開,然後使用append函數將它們添加到slice1中,得到一個新的合併切片 mergedSlice。

slice1 := []int{1, 2, 3}
slice2 := []int{4, 5, 6}
mergedSlice := append(slice1, slice2...)

函數可變參數

sumNumbers 函數接受可變數量的整數參數,並返回總和。

func sumNumbers(nums ...int) int {
    sum := 0
    for _, num := range nums {
        sum += num
    }
    return sum
}

數組刪節號

...將數組numbers中的元素展開,然後傳遞給sumArray函數,計算出總和。

func sumArray(nums [5]int) int {
    sum := 0
    for _, num := range nums {
        sum += num
    }
    return sum
}

func main() {
    numbers := [5]int{1, 2, 3, 4, 5}
    total := sumArray(numbers[:5]...)
    fmt.Println(total)
}

碎語

相隔十四年再度和家人來到日月潭,景色依舊,人也還在!
(後續會將文章放到 medium 上,以及補上更詳細的內容


上一篇
27 | 什麼是泛型?
下一篇
29 | JSON
系列文
Go 語言學習手札30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言