From 7a740fc55cd2fb9235f103d509df4e33408e871c Mon Sep 17 00:00:00 2001 From: lijinpeng Date: Sun, 20 Feb 2022 14:48:36 +0800 Subject: [PATCH] Fix typo in arithmetic-overflow.md --- contents/pitfalls/arithmetic-overflow.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/contents/pitfalls/arithmetic-overflow.md b/contents/pitfalls/arithmetic-overflow.md index 0b4290d4..6c0de292 100644 --- a/contents/pitfalls/arithmetic-overflow.md +++ b/contents/pitfalls/arithmetic-overflow.md @@ -1,13 +1,13 @@ # 算术溢出导致的panic -在Rust中,溢出后的数值被截断是很正常的: +在 Rust 中,溢出后的数值被截断是很正常的: ```rust let x: u16 = 65535; let v = x as u8; println!("{}", v) ``` -最终程序会输出`255`, 因此大家可能会下意识地就觉得算数操作在Rust中只会导致结果的不正确,并不会导致异常。但是实际上,如果是因为算术操作符导致的溢出,就会让整个程序panic: +最终程序会输出`255`, 因此大家可能会下意识地就觉得算数操作在 Rust 中只会导致结果的不正确,并不会导致异常。但是实际上,如果是因为算术操作符导致的溢出,就会让整个程序 panic: ```rust fn main() { let x: u8 = 10; @@ -22,7 +22,7 @@ fn main() { thread 'main' panicked at 'attempt to add with overflow', src/main.rs:5:13 ``` -那么当我们确实有这种需求时,该如何做呢?可以使用Rust提供的`checked_xxx`系列方法: +那么当我们确实有这种需求时,该如何做呢?可以使用 Rust 提供的`checked_xxx`系列方法: ```rust fn main() { let x: u8 = 10; @@ -54,9 +54,9 @@ pub fn working_items_per_minute(speed: u8) -> u32 { } ``` -上述代码中,`speed * cph`就会直接panic: +上述代码中,`speed * cph`就会直接 panic: ```console thread 'main' panicked at 'attempt to multiply with overflow', src/main.rs:10:18 ``` -是不是还藏的挺隐蔽的?因此大家在Rust中做数学运算时,要多留一个心眼,免得上了生产才发现问题所在。或者,你也可以做好单元测试:) \ No newline at end of file +是不是还藏的挺隐蔽的?因此大家在 Rust 中做数学运算时,要多留一个心眼,免得上了生产才发现问题所在。或者,你也可以做好单元测试:) \ No newline at end of file