From 4fa9a4328359e54d0fad34f1bd5abca06d066af4 Mon Sep 17 00:00:00 2001 From: jankincai Date: Fri, 25 Oct 2024 15:12:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Rust=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E4=BE=8B=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rust/complex_code.rs | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 rust/complex_code.rs diff --git a/rust/complex_code.rs b/rust/complex_code.rs new file mode 100644 index 0000000..d789e4d --- /dev/null +++ b/rust/complex_code.rs @@ -0,0 +1,43 @@ +fn jankincai_1() -> Option { + Some(1) +} + +fn jankincai_2() -> Option { + Some(2) +} + + +fn jankincai_3() -> Option { + Some(3) +} + + +fn jankincai() -> Option { + // 这只是一个项目里面抽出来的简单例子,实际对于刚入门Rust程序员,可能会忽视(?)符号的作用。 + + // 正解 + // Some(jankincai_1()? + jankincai_2()? + jankincai_3()?) + + // 明明可以写的很简洁 + let v1 = match jankincai_1() { + Some(v) => v, + None => return None, + }; + + let v2 = match jankincai_2() { + Some(v) => v, + None => return None, + }; + + let v3 = match jankincai_3() { + Some(v) => v, + None => return None, + }; + + Some(v1 + v2 + v3) +} + + +fn main() { + println!("{:?}", jankincai()); +} -- Gitee