2015-06-18 16 views
0

如果函數返回一個值並且不使用返回的值,那麼golang中是否存在失敗構建選項?例如,我要一個錯誤/警告時,我們有:GoLang中的更嚴格的編譯選項

func abc() error

,它被稱爲沒有一個左爲:

abc()

編輯:這不是單獨的錯誤但對於一般的返回值。

感謝

+1

https://github.com/kisielk/errcheck可以檢查忽略的錯誤。我不認爲它可以檢查忽略的返回值 - 也就是說,你不檢查寫入的返回字節以及來自'fmt.Printf'和變體的錯誤。 – elithrar

+0

添加-1的人是否可以解釋爲什麼?沒有評論標記問題是沒有意義的。我試圖獲得答案,但一直未能找到答案。 – user1952500

回答

0

這不是關於編譯器是否嚴格。 Go語言規範允許調用函數和方法而不使用它們的返回值。

您不會看到任何編譯器選項,這些選項將停止不違反lang規範的用例的構建過程。

你想要什麼可能會創建或可能已經存在作爲一個外部工具,但不是在編譯器本身。

+0

謝謝。我正在尋找像-Wall-在gcc中出現的錯誤。如果有的話,我會尋找一些外部工具。 – user1952500

0

號即使編譯可以檢查返回錯誤的分配,我們如何才能知道變量在正確的方式進行檢查? faqerrorhandle

+0

這不僅僅是錯誤,而是任何通用的返回值。代碼與錯誤只是一個例子。 – user1952500

+0

答案仍然沒有。即使編譯可以檢查返回值的賦值,我們如何才能知道變量是否正確使用? –

+0

我想找出它未分配的所有實例。無論是正確的使用方式,都是停滯不前的問題,我並沒有試圖解決這個問題。 – user1952500