[英]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.