Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.1MB ·虚拟内存 1300.0MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
Move 支持模块
或脚本
级常量。常量一旦定义,就无法更改,所以可以使用常量为特定模块或脚本定义一些不变量,例如角色、标识符等。
常量可以定义为基本类型(比如整数,布尔值和地址),也可以定义为数组。我们可以通过名称访问常量,但是要注意,常量对于定义它们的脚本或模块来说是本地可见的。
我们无法从模块外部访问模块内部定义的常量
script { use 0x1::Debug; const RECEIVER : address = 0x999; fun main(account: &signer) { Debug::print<address>(&RECEIVER); // they can also be assigned to a variable let _ = RECEIVER; // but this code leads to compile error // RECEIVER = 0x800; } }
一些用法:
module M { const MAX : u64 = 100; // however you can pass constant outside using a function public fun get_max(): u64 { MAX } // or using public fun is_max(num: u64): bool { num == MAX } }
使用常量时应该注意:
模块是发布在特定地址下的打包在一起的一组函数和结构体。前几章里,我们已经使用了脚本,脚本需要与已发布的模块或标准库一起运行,而标准库本身就是在 0x1 地址下发布的一组模块。模块在发布者的地址下发布。标准库在 0x1 地 ...