有没有办法通过库调用从另一个 Go 程序中以编程方式调用 Go 工具(如go build
),并与命令行调用的文本输出相比获得更结构化的输出?
问问题
1074 次
2 回答
1
如果您尝试以编程方式运行构建,您也可以使用该os/exec
包。
func runBuild() {
cmd := exec.Command("go", "build", "./main.go")
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
}
您也可以传递其他标志。例如:构建模式标志
cmd := exec.Command("go", "build", "-buildmode=plugin", "./main.go")
于 2019-12-10T15:44:40.600 回答
-1
在另一个 go 程序中,可以使用os/exec
包执行控制台命令,如下所示:
func main (){
cmd := exec.Command("go run lib/main.go")
if err := cmd.Run(); err != nil{
log.Fatal(err)
}
}
不过,我认为这不是很有用。
于 2017-06-06T20:46:03.850 回答