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