SuperAPI AI 工具集

move-syntax

通用与其它

查看项目

更新于 10-16 09:33

技能介绍

用途:这是一份 Move 语言语法与风格规范,用于按 Sui 生态的现代写法编写和重构 Move 模块代码。

主要能力: 模块布局:使用不带花括号的单行写法 module my_package::my_module;,并按顺序组织 use 导入、const、结构体与枚举、fun init、public 函数、public(package) 函数、私有函数、#[test_only] 测试模块,可用 === 标题 === 注释分段。 导入:不要写单独的 {Self};同时导入模块与成员时用 Self 分组,如 use sui::coin::{Self, Coin};。 可变性:所有会被重新赋值或被可变借用的变量必须声明 let mut,被可变借用的函数参数也需 mut。 可见性:public 任意模块可调用,public(package) 仅同包,无修饰为同模块私有;public(friend) 与 friend 已弃用,改用 public(package);不要写 public entry,二者择一。 参数顺序:可变对象 → 不可变对象 → capability → 基本类型 → &Clock → &mut TxContext。 命名:getter 以字段命名,不加 get_ 前缀,可变版加 _mut。 方法语法:首个参数为对应类型的函数可作方法调用,优先用方法形式,外部函数可用 use fun 声明别名。 枚举:用 enum 支持多变体,枚举无 key ability、不能作为顶层对象,可用 match 模式匹配。 宏:向量可用 do!、tabulate!、do_ref!、do_mut!、destroy!、fold!、filter! 等替代手写 while 循环;选项可用 do!、destroy_or!。 注释:文档注释用 ///,不支持 JavaDoc 风格 /** */。

使用方式:在编写或审查 Move 代码时,按上述规则统一模块结构、函数签名与迭代写法。

限制:资料未提供该技能的安装、调用命令与平台支持信息;分类按用途归入编程与开发。