断言 assertion

断言列表

在正式开始前,来看看常用的断言有哪些:

  • assert!, assert_eq!, assert_ne!, 它们会在所有模式下运行
  • debug_assert!, debug_assert_eq!, debug_assert_ne!, 它们只会在 Debug 模式下运行

assert_eq!

assert_eq! 宏可以用于判断两个表达式返回的值是否相等 :

1
2
3
4
5
fn main() {
let a = 3;
let b = 1 + 2;
assert_eq!(a, b);
}

当不相等时,当前线程会直接 panic:

1
2
3
4
5
fn main() {
let a = 3;
let b = 1 + 3;
assert_eq!(a, b, "我们在测试两个数之和{} + {},这是额外的错误信息", a, b);
}