我看到代码片段是函数返回err
作为最后一个参数很多时间。
f, err := strconv.ParseFloat(asciiFloat, 64)
问题是,即使函数实现中不涉及错误处理,也必须使所有函数返回错误。 我如何知道函数是否返回err
值?
每次需要使用函数时都必须签出文档吗?
回答你的问题:幸运的是,Go 防止了某些类型的程序员错误。如果您忘记了函数返回的值之一,它不会让您编译程序。
在 Go 中返回错误是一个很好的做法,请阅读 Effective Go 的错误部分
库例程通常必须向调用方返回某种错误指示。如前所述,Go 的多值返回使得在正常返回值的同时返回详细的错误描述变得容易。使用此功能提供详细的错误信息是一种很好的风格。
和错误处理和去
在 Go 中,错误处理很重要。该语言的设计和约定鼓励您明确检查错误发生时
但是这里描述了一个问题,可能会在 Go 2 中得到改进
一般来说,Go 程序有太多的代码检查错误,而没有足够的代码处理它们。
戴夫·切尼在博客中写道
我建议更改您的代码,这样您就不会有那么多错误需要处理。
必须使所有函数都返回错误
不。
但是如果你的函数可能返回错误 - 你必须将这个错误作为最后一个值返回。
最好将错误作为最后一个值返回。
我怎么知道一个函数是否返回错误
在使用某个函数之前,您必须查看该函数,并且在声明中您将看到返回的函数。此外,最好阅读文档以运行,并查看如何使用功能。