bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

golang中不定參數的應用-創新互聯

不定參數是指函數傳入的參數個數為不定數量。

成都創新互聯是一家集網站建設,濱湖企業網站建設,濱湖品牌網站建設,網站定制,濱湖網站建設報價,網絡營銷,網絡優化,濱湖網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

一、函數定義

首先來看如何定義一個不定參數的函數:

func YourFun(v... interface{}){
}

該函數定義,定義了一個接受任何數目任何類型參數的函數。這里特殊的語法是三個點“...”,在一個變量后面加上三個點后,表示從該處開始接受不定參數,不同于python,golang的不定參數如果將這里"interface{}" 替換成某一確定類型,那么其就只能接受該類型的不定參數。

二、“...”

上面我們看到有三個點"..."的特殊標記。那么這三個點"..."有啥作用呢?

2.1 不定參數

如上所述,在定義不定參數時,表示從該參數開始記錄不定參數

2.2 解引用slice

當要傳遞若干個值到不定參數函數中得時候,可以手動書寫每個參數,也可以將一個slice傳遞給該函數:

YourFunc (YourSlice...)

通過"..."可以將slice中得參數對應的傳遞給函數。相當于python中得“*args”。

這里要注意的是,解引用slice目前只能在不定參數函數傳遞參數時使用,在其他地方使用會報錯。

三、遍歷參數

下面我們來看一個實例:

func P (v... string) {
for _,item := range v {
    fmt.Println("item:",item)
    }
}
func main() {
    var l []string
    l = append(l,"a")
    l = append(l,"b")
    fmt.Println("l is ",l)
    P(l...)
}

這里我們看到的結果是,首先一個完整的list,然后是每個元素:

l is  [a b]
item: a
item: b

通過配合使用for...range可以遍歷不定參數v中得每個參數。這里我們將不定參數類型設為string,因此只能接受若干的string 類型的參數。

以上就是詳解golang中的不定參數的詳細內容,更多請關注創新互聯成都網站設計公司其它相關文章!

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享標題:golang中不定參數的應用-創新互聯
網頁URL:http://vcdvsql.cn/article22/dcpocc.html

成都網站建設公司_創新互聯,為您提供服務器托管、網站維護App開發、網站策劃、網站收錄微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司