Как объяснено здесь , exec.Command
не разделяет аргументы командной строки, как это делает ваша обычная оболочка (bash, cmd и т. Д.).
Таким образом, помимо заполнения параметров как
exec.Command("your_executable", "-switch1", "value1", "-switch2", "value2")
, вы можете использовать bash или cmd (Windows), которые помогут вам
exec.Command("cmd","/C", "your_executable -switch1 value1 -switch2 value2")
или разделить аргументСтрока себя ( ref )
arguments := "-switch1 value1 -switch2 value2"
arg_slice := strings.Split(arguments, " ")
exec.Command("your_executable", arg_slice...)
Это наиболее удобно, так как вы можете создать строку arguments
во время выполнения.