Guava Preconditions允许在Java中轻松检查方法参数。
public void doUsefulThings(Something s, int x, int position) {
checkNotNull(s);
checkArgument(x >= 0, "Argument was %s but expected nonnegative", x);
checkElementIndex(position, someList.size());
// ...
}
这些检查方法如果条件不满足会引发异常。 Go语言没有异常,而是使用返回值来指示错误。因此我想知道上述代码的Go语言惯用版本是什么样子。