在之前的例子中,我们只使用了init函数来创建AdminCap对象。 这个init函数必须是私有的,并且在模块部署时由Sui虚拟机(VM)自动调用。
在本课程中,我们将创建一个公共函数,用户将调用该函数来创建一个新的Fren。在Move中,公共函数的形式如下:
public fun equals_1000(x: u64): bool {
x == 1000
}
请注意,这个函数带有关键字 public
,这意味着它可以从任何其他Move模块和交易中调用。
另一方面,私有函数只能在同一个模块中调用,而且不能从交易中调用。
当调用公共交易时,系统对象如TxContext
和Clock
可以选择性地传递。
取决于开发者的函数是否需要这些对象,则可以将它们作为参数添加进去。
良好的实践是将系统对象始终添加在参数列表的末尾。