为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
收到一只叮咚 2021-07-08 14:00:23
我有一个由空格分隔的字符串,在这个例子中,它是一个命令: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:]...)


查看完整回答
反对 回复 2021-07-19
?
阿晨1998

TA贡献2037条经验 获得超6个赞

是的。一个例子:


func main() {

    arguments := "arg1 arg2 arg3"


    split := strings.Split(arguments, " ")


    print(split...)

}


func print(args...string) {

    fmt.Println(args)

}


查看完整回答
反对 回复 2021-07-19
  • 3 回答
  • 0 关注
  • 324 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信