函数
函数定义
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() {}
}