Move基础语法

  • 0xkrypton
  • 更新于 2024-11-23 23:35
  • 阅读 384

move基础语法

内值的四种能力

  • key:可以作为键值对全局状态进行访问

  • store:可以被存储到其他结构体

  • drop:在作用域结束时可以被丢弃

  • copy:可复制 key和drop不能同时存在

    debug

    在代码前加'#[test]' 命令行:'sui move test'

    泛型

    1. 消除模板代码
    2. 兼容未来的数据类型
      public struct Box <T>{
      value: T
      }
  • phantom泛型

    1. 这种泛型未被使用,只是占位
      
      public struct Balance<phantom T> has store{
          value: u64,
      }
      pubic struct Coin<phantom T> has key,store{
          id: UID,
          balace: Balance<T>,
      }
# enum
与match联用
- 实例:识别ip

public enum IPVersion{ IpV4, IpV6, } public fun which_ip_version(ip: &mut IPVersion){ match (ip){ IPVersion::IpV4=>{}, IPVersion::IpV6=>{}, } }


# use语句
`'use std::string::String as MyString'`
引入标准库中的String语句,并取MyString别名
# 基础数据类型

move 无小数无负数
- 定义变量:let <变量名>:<类型> =<变量值> 赋值后无法修改 
eg:let a :u8 = 1;
- 另一种写法:let <变量名> =<变量值><类型>
eg:let b = 10u16;
- 定义一个可变变量:let mut <变量名>:<类型> =<变量值>
- 使用 a/b 表示小数   类型相同才能运算
eg:let c= a/(b as u8);  ->c=0.1
- 布尔型: let d : boot = true or false;
- 地址型: let addr: address = @0x1;

![屏幕截图 2024-11-16 024537.png](https://img.learnblockchain.cn/attachments/2024/11/wNDSVihX673796dcb4b1f.png)
# 方法的定义

![屏幕截图 2024-11-16 024417.png](https://img.learnblockchain.cn/attachments/2024/11/u14ptguU673796963710a.png)

![屏幕截图 2024-11-16 025631.png](https://img.learnblockchain.cn/attachments/2024/11/dc7REtPy6737996b59b62.png)

# 基础语法    
- 循环

![屏幕截图 2024-11-16 034617.png](https://img.learnblockchain.cn/attachments/2024/11/sreqyZPV6737a5100a3d0.png)

- 条件 if , break ,continue

![屏幕截图 2024-11-16 034717.png](https://img.learnblockchain.cn/attachments/2024/11/HQxQZn8o6737a555bd096.png)

![屏幕截图 2024-11-16 035543.png](https://img.learnblockchain.cn/attachments/2024/11/rD9nceLj6737a748b605c.png)

![屏幕截图 2024-11-16 040233.png](https://img.learnblockchain.cn/attachments/2024/11/mlctED9Y6737a8e10a362.png)
- loop 与while等价

![屏幕截图 2024-11-16 040317.png](https://img.learnblockchain.cn/attachments/2024/11/uGLf6NFF6737a92905978.png)
  • 原创
  • 学分: 14
  • 分类: Sui
  • 标签: Move 
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xkrypton
0xkrypton
江湖只有他的大名,没有他的介绍。