我們常常因為傳入的參數不確定而頭疼不已,golang 為我們提供了接入多值參數用於解決這個問題。但是一般我們直接寫已知代碼即所有的值都知道一個一個塞進去就好了,但是絕大部分我們是得到用戶的大量輸入想通過循環傳入,但是這樣發現無法使用這個多值參數的功能。其實底層實現將多個參數視為傳入的一個不定長數組。那么我們就有想法了:既然底層使用數組,那我們傳入數組是否可以,結論是不可以的,或者這樣說比較合理:數組不能直接傳入,需要輔助多參數標識來指明,具體讓我們看以下一個簡單的測試:
func TestMultiParam(t *testing.T) { valueArray := []string{"1", "2", "3", "4", "5"} result := valueArray[0: 3] t.Log(result) multiParam(result...) // 這里就是我們平時需要用到的 } func multiParam(args ...string) { print(args) }
所以說,是可以傳入數組的,只不過需要緊接在后面加上 "3個點" 來表示是多個參數形式的數組,這樣在接受端就不會有類型異常。