我有一个由空格分隔的字符串,在这个例子中,它是一个命令:ls -al
。
Go 有一个方法 exec.Command
需要接受这个命令作为多个参数,我这样调用它:exec.Command("ls", "-al")
有没有办法获取任意字符串,用空格将其拆分,并将其所有值作为参数传递给该方法?
最佳答案
您可以使用 foo...
将任何 []T
作为 ...T
类型的参数传递,其中 foo 是类型[]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:]...)
关于go - 如何拆分字符串并将其用作 Go 中的函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369627/