GoLang中如何使用多參數屬性傳參

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

我們常常因為傳入的參數不確定而頭疼不已,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個點" 來表示是多個參數形式的數組,這樣在接受端就不會有類型異常。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.