跳到主要内容

函数

函数定义

fun <identifier><[type_parameters: constraint],*>([identifier: type],*): <return_type> <acquires [identifier],*> <function_body>

函数可见性

  • private, 默认为私有, 仅模块内部可访问
  • public, 任何人都可以调用
  • public(friend) 不仅可以被模块内部方法调用还可以被 friend 模块可访问。friend 模块声明语法: friend <Address/Alias>::<ModuleName>
module market::cart {
friend market::member; // 声明 friend 模块

fun getPayValue(): u256 { } // 私有方法, 仅模块内可访问
public payout() {} // 公开方法
public(friend) payoutDiscount () // friend 模块可调用该方法
}

module market::member {
// 当前模块是 market::cart 内的 friend 模块, 可调用payoutDiscount方法
market::cart::payoutDiscount()
}

entry

当函数被 entry 关键字修饰时,表示该函数可以被直接调用。相当于程序执行的入口。

module yuga::bayc {
public entry fun mint() {}
}