在之前的例子中,我们只使用了init函数来创建AdminCap对象。 这个init函数必须是私有的,并且在模块部署时由Sui虚拟机(VM)自动调用。

在本课程中,我们将创建一个公共函数,用户将调用该函数来创建一个新的Fren。在Move中,公共函数的形式如下:

public fun equals_1000(x: u64): bool {
       x == 1000
}

请注意,这个函数带有关键字 public,这意味着它可以从任何其他Move模块和交易中调用。 另一方面,私有函数只能在同一个模块中调用,而且不能从交易中调用。 当调用公共交易时,系统对象如TxContextClock可以选择性地传递。 取决于开发者的函数是否需要这些对象,则可以将它们作为参数添加进去。 良好的实践是将系统对象始终添加在参数列表的末尾。