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

标签 go

我有一个由空格分隔的字符串,在这个例子中,它是一个命令: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/

相关文章:

json - 如何读取请求 JSON 正文以便在响应请求后使用它?

go - 无法控制父初始化时初始化嵌入式结构

go - 如何忽略 go 中的根 JSON 元素?

android - 是否有开发 golang 版本的 Android 的计划?

go - Golang stdin 循环上的 CPU 使用率过高

Go Webapp 的 Dockerfile 目录结构

go - 如何在 golang 中记录 http 服务器错误?

dictionary - 如何更新 map 中的结构属性

go - 如何在 Go 中将 JWT 的过期日期解析为 time.Time() ?

go - channel 并发问题