gpt4 book ai didi

go - 如何检查 go 应用程序是否可构建?

转载 作者:IT王子 更新时间:2023-10-29 01:38:51 25 4
gpt4 key购买 nike

我编写了一些代码,然后将应用程序构建为输出文件,但有时我只想检查应用程序是否可构建,即没有错误并生成编译输出,但实际上并没有编写输出文件。

我尝试了这个变体,它似乎有效:

go build -o /dev/null myapp

但我怀疑一定有更“官方”的 Go 方法来检查它是否可以构建。

请指教!

最佳答案

要检查包或应用程序是否可构建,go build 是“官方”方法。

您所做的是最简单的方法。在我看来,你应该坚持下去。或者你可以这样做:

go build -o delme && rm delme

但是它有点慢,因为它必须写入结果然后被删除,但是这个解决方案是平台独立的(因为 /dev/null 在 Windows 上不存在)。

构建命令(main 包)时,根据定义 go build 将创建并将结果保留在当前工作目录 中。如果您构建一个“普通”包(非main),结果将被丢弃。在此处查看详细信息:What does go build build?

因此,如果您对必须使用 -o/dev/null 参数或手动删除结果感到困扰,您可以将您的 main 包“转换”为一个非main,我们称它为main2。并添加一个新的 main 包,除了导入和调用 main2.Main() 之外什么都不做。构建 main2 包不会留下任何文件。

例如myapp/main.go:

package main

import "myapp/main2"

func main() { main2.Main() }

myapp/main2/main2.go:

// Every content you originally had in main.go

package main2

func Main() {
// ...
}

关于go - 如何检查 go 应用程序是否可构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41561819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com