From 7fe3728d87d220573f04f52fff48d15314ab0213 Mon Sep 17 00:00:00 2001 From: awaqawaqawaq <81813136+awaqawaqawaq@users.noreply.github.com> Date: Fri, 20 Sep 2024 18:19:23 +0800 Subject: [PATCH] Update awaqawaqawaq.md --- awaqawaqawaq.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/awaqawaqawaq.md b/awaqawaqawaq.md index 7612043..0b9880d 100644 --- a/awaqawaqawaq.md +++ b/awaqawaqawaq.md @@ -78,6 +78,41 @@ StarkNet's tokenomics . MyStruct::my_function(); let map: LegacyMap = LegacyMap::new(); // 指定 LegacyMap 的类型参数 +### 2024.09.19 +- match模式匹配,类似switch +- 模式绑定 Colors::Red(()) 括号内携带参数 + ``` rust + // match pattern with data (Actions) + fn match_action(self: @ContractState, action: Actions) -> u128 { + match action { + Actions::Forward(dist) => { + dist//将匹配到的值绑定至dist + }, + Actions::Stop(_) => { + 0_u128 + } + } + } + ``` + +- Option + 调用Option::Some(value)创建一个Option::Some(value)的值,调用Option::None()创建一个Option::None的值 + ``` rust + let x: Option = Option::Some(5); + let y: Option = Option::None(); + + ``` + x y 为option类型,可使用match模式匹配 + ``` rust + match option{ + Option::Some(value) => value, + Option::None(_) => 0_u8, + } + ``` +- Into\TryInto 类型转换 +- #[constructor] 在合约部署期间自动运行一次 + +