j********x 发帖数: 2330 | 1 另外,ret 和 err 同时被定义,而每次只有其中一个不是 nil,这种“或”的关系并
不是靠编译器来保障,而是靠程序员的“约定俗成”。这样当 err 不是 nil 的时候,
ret 其实也可以不是 nil。这些组合带来了挺多的混淆,让你每次看到 return 的地方
都不确信它到底想返回一个错误还是一个有效值。如果你意识到这种“或”关系其实意
味着你只应该用一个返回值来表示它们,你就知道其实 Go 误用了多返回值来表示可能
的错误。
这小孩子一般强词夺理的狡辩实在是让我哭笑不得啊。。。 |
|