sui move 学习 - 从头开始 教学 -3

// 函数

最后函数部分,就是主要的内容了。
有几种不同的函数式

fun name() {};               //内部函数public fun name() {};        //公开函数public entry name() {};      //入口函数public(friend) fun name() {};//这我还不会 XD...

内部函数 - 此函数用于只有本合约内部可以调用、执行。
公开函数 - 在其他模组module可以调用、执行此函数。
入口函数 - 在部署合约后,用于外部执行指令的函数,意指,这是外部使用此合约的入口处。

name - 函数名称,通常使用小写+_来编名,如:buy_ham。
() - 括号内部为要带入的数值。
{} - 花括号内部为此函数的内容。
若此函数有需要return,在花括号后面需要加上 :类型
例如: fun name(){}:u64;
这样代表这串函数最后会返回一个数值。
需要注意的是,如果这函数为入口函数,那他就不可以有返回值。

大致上suimove的架构是如此,为了比较好学习,就让我们直接开始 製作三明治。


module sandwich::shop {    //首先我们来建构要製作三明治的材料        struct Ham has key { id:UID } //宣告火腿结构,并赋予它id    struct Bread has key { id:UID } //宣告麵包结构。    struct Sandwich has key { id:UID } //宣告三明治结构。

此处有将此三个结构都赋能key,此能力表明这些结构是可以在地址之间传输的Sui对象。
再来因为我们有在这里用到UID,这个类型,所以我们需要调用框架。

module sandwich::shop {        use sui::object::UID // UID隶属于object里,所以从object指定调用它。        struct Ham has key { id:UID }    struct Bread has key { id:UID }    struct Sandwich has key { id:UID }        //接着我们来给火腿跟麵包定价。        const HAM_PRICE: u64 = 10;    const BREAD_PRICE: u64 = 2;

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章