在Go语言中有更严格的编译选项。

huangapple go评论82阅读模式
英文:

More strict compile options in GoLang

问题

在golang中,是否有一种选项可以在函数返回一个值但未使用返回值时使构建失败?例如,当我们有以下情况时,我希望出现错误/警告:

func abc() error

并且在没有左值的情况下调用它:

abc()

编辑:这不仅适用于错误,而是适用于一般的返回值。

谢谢。

英文:

Is there an option in golang to fail build if a function returns a value and the returned value is not used? For example, I want an error / warning when we have:

func abc() error

and it is called without an lvalue as:

abc()

EDIT: This is not for errors alone but for return values in general.

Thanks

答案1

得分: 2

这不是关于编译器是否严格的问题。Go语言规范允许调用函数和方法而不使用它们的返回值。

你不会看到任何编译器选项会在不违反语言规范的情况下停止构建过程。

你想要的可能已经存在作为一个外部工具,但不是在Go编译器本身中。

英文:

This is not about the compiler being strict or not. The Go Language Specification allows calling functions and methods without using their return values.

You won't see any compiler options that will stop the building process on use cases which do not violate the lang spec.

What you want may be created or may already exist as an external tool, but not in the Go compiler itself.

答案2

得分: 0

不,即使编译可以检查返回错误的赋值,我们怎么知道变量是否以正确的方式进行了检查呢?
常见问题解答 错误处理

英文:

No. even if compile can check the assignment of returned error, how could we know the variable be checked in right way?
faq errorhandle

huangapple
  • 本文由 发表于 2015年6月18日 08:18:12
  • 转载请务必保留本文链接:https://go.coder-hub.com/30904581.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定