我編寫了一些代碼,然後構建應用程序到輸出文件,但有時我只想檢查應用程序是否可構建,即沒有錯誤並生成編譯後的輸出,但沒有實際編寫輸出文件。如何檢查應用程序是否可構建?
我想這個變異,它似乎工作:
go build -o /dev/null myapp
但我懷疑,必須有一個更加「正式」進入的方式來檢查它是否可以建立。
請指教!
我編寫了一些代碼,然後構建應用程序到輸出文件,但有時我只想檢查應用程序是否可構建,即沒有錯誤並生成編譯後的輸出,但沒有實際編寫輸出文件。如何檢查應用程序是否可構建?
我想這個變異,它似乎工作:
go build -o /dev/null myapp
但我懷疑,必須有一個更加「正式」進入的方式來檢查它是否可以建立。
請指教!
的一種方法是gofmt -e my_file.go
上的所有文件,但是:
go build
威力。含義:go build -o /dev/null
可能仍然是更徹底的方法。
對於剛剛確認語法和結構:see gotype
如何檢查是否一展身手的應用程序是可建?
據我瞭解你的問題,你想看看你正在編輯的文件是否沒有錯誤。
那麼你可以使用vim-go plugin vim。
然後設置你的.vimrc創建快捷方式:
"shortcut for vim-go
au FileType go nmap <leader>r <Plug>(go-run)
au FileType go nmap <leader>b <Plug>(go-build)
au FileType go nmap <leader>t <Plug>(go-test)
au FileType go nmap <leader>c <Plug>(go-coverage)
我用這個作爲我的日常工作生活時,我想看看我的文件中不存在的錯誤,我只需鍵入\+b
。然後它將輸出錯誤,而不在終端中輸入go build
。
希望它有幫助。
要檢查程序包或應用程序是否可構建,go build
是「官方」方式。
你所做的是最簡單的方法。在我看來,你應該堅持下去。或者你可以這樣做:
go build -o delme && rm delme
但它的有點慢,因爲它有寫的結果,然後將其刪除,但這個解決方案是獨立於平臺(如/dev/null
不存在於Windows)。
當建立一個命令(main
包),顧名思義go build
將創建並離開,結果在當前工作目錄。如果您構建「正常」包(非main
),結果將丟棄。查看詳情這裏:What does go build build?
所以,如果你煩惱,你必須使用-o /dev/null
PARAM或手動刪除的結果,你可以「改造」你main
包非main
,姑且稱之爲main2
。並添加一個新的main
軟件包,該軟件包除了導入並且請求main2.Main()
之外不應該做任何其他操作。構建main2
包不會留下任何文件。
E.g. 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() {
// ...
}
爲什麼不使用測試,以檢查構建? – JimB