您好,登錄后才能下訂單哦!
本篇內容主要講解“Go語言中可變參數函數的用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Go語言中可變參數函數的用法”吧!
Go中的函數支持可變參數,這一特性其實只是Go語言的一種語法糖,格式如下所示:
func function(values...Type) {} // Type:表示的是具體的參數歸屬類型,可以是int,string...甚至interface
例子1: 可變參數是同一種類型的
通過上面的代碼可以看出,可變參數的函數,對4中參數的輸入方式都支持,它們分別是:
1.不輸入參數;2.輸入一個參數;3.輸入多個參數;4.按照slice的方式輸入。
輸出的結果則都可以正常計算這些不同輸入的計算結果。
備注:相同類型的可變參數方式,其實輸入的參數類似與[]type的這種slice作為入參的方式,不過它們卻有一些不同,如下所示:
對于這兩個傳入參數是可變參數還是slice參數來說,編譯器還是將它們定義成了不同的函數,參見上面的輸出結果。
例子2:可變參數是不同的類型
對于可變參數是不同的數據類型的時候,可變參數的類型必須設置成空的interface才行。
代碼分析:通過代碼可以看出在可變參數的類型是interface{}的時候,實參可以是不同的類型的數據,代碼里面顯示了兩種不同的傳參方式,一種是直接傳遞不同的類型的實參,另一種是構建成interface{}的slice來傳遞實參。
輸出分析:通過輸出,我們可以看出兩種輸入參數的方式都是生效的,并且對應的每一個入參類型都是我們傳遞的實參的數據類型。
到此,相信大家對“Go語言中可變參數函數的用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。