相关疑难解决方法(0)

无法将[]字符串转换为[] interface {}

我正在编写一些代码,我需要它来捕获参数并传递它们fmt.Println
(我希望它的默认行为,写入由空格分隔的参数,然后是换行符).但它需要[]interface {}flag.Args()返回一个[]string.
这是代码示例:

package main

import (
    "fmt"
    "flag"
)

func main() {
    flag.Parse()
    fmt.Println(flag.Args()...)
}
Run Code Online (Sandbox Code Playgroud)

这将返回以下错误:

./example.go:10: cannot use args (type []string) as type []interface {} in function argument
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?不应该fmt.Println采取任何阵列?顺便说一句,我也试过这样做:

var args = []interface{}(flag.Args())
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

cannot convert flag.Args() (type []string) to type []interface {}
Run Code Online (Sandbox Code Playgroud)

是否有"Go"方式解决此问题?

type-conversion go

81
推荐指数
3
解决办法
4万
查看次数

标签 统计

go ×1

type-conversion ×1