我有一个由空格分隔的字符串,在这个例子中,它是一个命令:ls -al。Go 有一个方法exec.Command需要接受这个命令作为多个参数,我这样称呼它:exec.Command("ls", "-al")有没有办法取一个任意字符串,用空格分割它,然后将它的所有值作为参数传递给方法?
3 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
您可以将 any[]T作为类型参数传递,...T使用foo...where foo is of type []T: spec
exec.Command 是以下类型:
func Command(name string, arg ...string) *Cmd
在这种情况下,您必须直接传递第一个参数(名称),您可以使用 ... 扩展其余参数:
args := strings.Fields(mystr) //or any similar split function
exec.Command(args[0], args[1:]...)
阿晨1998
TA贡献2037条经验 获得超6个赞
是的。一个例子:
func main() {
arguments := "arg1 arg2 arg3"
split := strings.Split(arguments, " ")
print(split...)
}
func print(args...string) {
fmt.Println(args)
}
- 3 回答
- 0 关注
- 324 浏览
添加回答
举报
0/150
提交
取消