本篇內(nèi)容主要講解“Go語言中可變參數(shù)函數(shù)的用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Go語言中可變參數(shù)函數(shù)的用法”吧!
創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元呼圖壁做網(wǎng)站,已為上家服務(wù),為呼圖壁各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
Go中的函數(shù)支持可變參數(shù),這一特性其實(shí)只是Go語言的一種語法糖,格式如下所示:
func function(values...Type) {} // Type:表示的是具體的參數(shù)歸屬類型,可以是int,string...甚至interface
例子1: 可變參數(shù)是同一種類型的
通過上面的代碼可以看出,可變參數(shù)的函數(shù),對(duì)4中參數(shù)的輸入方式都支持,它們分別是:
1.不輸入?yún)?shù);2.輸入一個(gè)參數(shù);3.輸入多個(gè)參數(shù);4.按照slice的方式輸入。
輸出的結(jié)果則都可以正常計(jì)算這些不同輸入的計(jì)算結(jié)果。
備注:相同類型的可變參數(shù)方式,其實(shí)輸入的參數(shù)類似與[]type的這種slice作為入?yún)⒌姆绞?,不過它們卻有一些不同,如下所示:
對(duì)于這兩個(gè)傳入?yún)?shù)是可變參數(shù)還是slice參數(shù)來說,編譯器還是將它們定義成了不同的函數(shù),參見上面的輸出結(jié)果。
例子2:可變參數(shù)是不同的類型
對(duì)于可變參數(shù)是不同的數(shù)據(jù)類型的時(shí)候,可變參數(shù)的類型必須設(shè)置成空的interface才行。
代碼分析:通過代碼可以看出在可變參數(shù)的類型是interface{}的時(shí)候,實(shí)參可以是不同的類型的數(shù)據(jù),代碼里面顯示了兩種不同的傳參方式,一種是直接傳遞不同的類型的實(shí)參,另一種是構(gòu)建成interface{}的slice來傳遞實(shí)參。
輸出分析:通過輸出,我們可以看出兩種輸入?yún)?shù)的方式都是生效的,并且對(duì)應(yīng)的每一個(gè)入?yún)㈩愋投际俏覀儌鬟f的實(shí)參的數(shù)據(jù)類型。
到此,相信大家對(duì)“Go語言中可變參數(shù)函數(shù)的用法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!