golang 三個點的用法


已經忘了這是第幾次查這個用法了,還是記一下吧~ ^ _ ^

本文同時發表在https://github.com/zhangyachen/zhangyachen.github.io/issues/137

在Golang中,三個點一共會用在四個地方(話說三個點的官方說法是什么?):

變長的函數參數

如果最后一個函數參數的類型的是...T,那么在調用這個函數的時候,我們可以在參數列表的最后使用若干個類型為T的參數。這里,...T在函數內部的類型實際是[]T.

func Sum(nums ...int) int {
    res := 0
    for _, n := range nums {
        res += n
    }
    return res
}

Sum(1,2,3)

調用擁有變長參數列表的函數

上面調用Sum函數時,是將變長參數分開寫的。如果我們有一個slice,那么我們調用時不必將slice拆開再調用,直接在slice后跟...即可:

primes := []int{2, 3, 5, 7}
fmt.Println(Sum(primes...)) // 17

標識數組元素個數

這里,...意味着數組的元素個數:

stooges := [...]string{"Moe", "Larry", "Curly"} // len(stooges) == 3

Go命令行中的通配符

描述包文件的通配符。
在這個例子中,會單元測試當前目錄和所有子目錄的所有包:

go test ./...

參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM