猿问

如何拆分字符串并将其用作 Go 中的函数参数?

我有一个由空格分隔的字符串,在这个例子中,它是一个命令:ls -al

Go 有一个方法exec.Command需要接受这个命令作为多个参数,我这样称呼它:exec.Command("ls", "-al")

有没有办法取一个任意字符串,用空格分割它,然后将它的所有值作为参数传递给方法?


收到一只叮咚
浏览 325回答 3
3回答

慕运维8079593

您可以将 any[]T作为类型参数传递,...T使用foo...where foo is of type []T: specexec.Command 是以下类型:func Command(name string, arg ...string) *Cmd在这种情况下,您必须直接传递第一个参数(名称),您可以使用 ... 扩展其余参数:args := strings.Fields(mystr) //or any similar split functionexec.Command(args[0], args[1:]...)

阿晨1998

是的。一个例子:func main() {    arguments := "arg1 arg2 arg3"    split := strings.Split(arguments, " ")    print(split...)}func print(args...string) {    fmt.Println(args)}
随时随地看视频慕课网APP

相关分类

Go
我要回答