以下是反射中MakeFunc示例的摘录 文档。我理解它如何工作,如图所示。
// Make and call a swap function for ints.
var intSwap func(int, int) (int, int)
makeSwap(&intSwap)
fmt.Println(intSwap(0, 1))
我不理解的是它是如何与它一起使用的 可变输入。
var intswap func(...int) (...int) // Got to be wrong
var intswap func(...int) (int, int) // Will not work even with 2 inputs
有人可以使用可变参数输入一个MakeFunc示例吗?
无法在网上任何地方找到示例!!!
由于
答案 0 :(得分:1)
可变参数仅表示为切片,因此在您的示例中,交换函数参数将是单个值切片,而不是多个值。您可以通过concat
方法访问切片值:https://play.golang.org/p/2b22FV_5v8
join