java-如何在Go中检查函数参数

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版本是什么样子.

解决方法:

这取决于上下文.

如果doUsefulThings是从程序包导出的公共函数,则返回错误.您可以导出导出的包级别错误变量,然后返回,调用者可以检查返回的错误是否等于记录的错误之一.

如果未导出,则错误地调用它会是程序员的错误,我认为应该对此感到恐慌(errors.New(“ bla bla bla”)).尽管无论如何,一旦取消引用该函数,该函数都会感到恐慌.

为此:checkArgument(x> = 0,“参数为%s,但预期为非负数,x),您可以传入uint.

上一篇:java-jsr 303如何强制它使用我的resourcebundle?


下一篇:java validation 验证器