这不是错误。
fmt.Println()需要一个
[]interface{}类型。这意味着它必须是interface{}值的切片,而不是“任何切片”。为了转换切片,您将需要循环并复制每个元素。old := flag.Args()new := make([]interface{}, len(old))for i, v := range old { new[i] = v}fmt.Println(new...)您无法使用任何分片的原因是,a
[]string和a
之间的转换
[]interface{}需要更改内存布局,并且发生时间为O(n)。将类型转换为interface{}需要O(1)时间。如果他们不需要此for循环,则编译器仍将需要插入它。

![无法将[]字符串转换为[]接口{} 无法将[]字符串转换为[]接口{}](http://www.mshxw.com/aiimages/31/374400.png)
