簡體   English   中英

Go中的`append()...`是做什么的

[英]What does `append()…` do in Go

我有這個Go代碼

kithttp.NewServer(
    endpoints.AuthorizeUserEndpoint,
    decodeRequest,
    encodeResponse,
    append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "calling HTTP POST /endpoint", logger)))...,
)

你能解釋我這是什么append()......到底。

append內置函數將元素追加到切片的末尾。

文檔中閱讀更多內容。

...在可變參數函數中使用(其中append是一個例子),通過所有前述變量的元素。

因此,給定變量x := []int{1, 2, 3} ,表達式foo(x...)會將其傳遞給函數,就好像您調用了foo(1, 2, 3)而不是foo(x)相當於foo([]int{1, 2, 3})

基本上, append使用options切片,向其附加其他選項,返回新切片,然后將合並的切片作為單獨的參數傳遞給kithttp.NewServer構造函數,這要歸功於...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM