Move语言 abort assert

Move语言还提供了关键字 abort 和 assert,用于控制程序的执行。 

有条件退出 abort

有时,当某些条件失败时,您需要中止程序的执行。对于这种情况,Move 提供了有关键字 abort。

script {
    fun main(a: u8) {

        if (a != 10) {
            abort 0;
        }

        // code here won't be executed if a != 10
        // transaction aborted
    }
}

关键字 abort 允许程序中止执行的同时报告错误代码。

使用 assert 内置方法

内置方法 assert(<condition>, <code>) 对 abort和条件进行了封装,你可以在代码中任何地方使用它。

script {

    fun main(a: u8) {
        assert(a == 10, 0);

        // code here will be executed if (a == 10)
    }
}

assert() 在不满足条件时将中止执行,在满足条件时将不执行任何操作。

结构体是自定义类型,它可以包含复杂数据,也可以不包含任何数据。结构体由字段组成,可以简单地理解成"key-value"存储,其中 key 是字段的名称,而 value 是存储的内容。结构体使用关键字 struct 定义 ...