Appearance
编译时函数
以下列出了所有的内置 全局静态函数,这些函数在构建 Tact 项目时进行评估,不能处理非常量的运行时数据。这些函数通常被称为“编译时函数”。
address
solidity
fun address(s: String): Address;
一个编译时函数,将 String
类型的地址转换为 Address
类型。
使用示例:
solidity
contract Example {
// 持久化状态变量
addr: Address =
address("EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N"); // 在编译时工作!
}
cell
solidity
fun cell(bocBase64: String): Cell;
一个编译时函数,将 base64 编码的 BoC bocBase64
作为 Cell
嵌入到合约中。
使用示例:
solidity
contract Example {
// 持久化状态变量
storedCell: Cell =
// Wallet V3R1 的初始化包作为 base64 编码的 BoC
cell("te6cckEBAQEAYgAAwP8AIN0gggFMl7qXMO1E0NcLH+Ck8mCDCNcYINMf0x/TH/gjE7vyY+1E0NMf0x/T/9FRMrryoVFEuvKiBPkBVBBV+RDyo/gAkyDXSpbTB9QC+wDo0QGkyMsfyx/L/8ntVD++buA="); // 在编译时工作!
}
ton
solidity
fun ton(value: String): Int;
一个编译时函数,将给定的 Toncoins value
从人类可读的 String
格式转换为 nanoToncoin Int
格式。
使用示例:
solidity
contract Example {
// 持久化状态变量
one: Int = ton("1"); // 10^9 nanoToncoins,等于一个 Toncoin
pointOne: Int = ton("0.1"); // 10^8 nanoToncoins,等于 0.1 Toncoin
nano: Int = ton("0.000000001"); // 1 nanoToncoin,等于 10^-9 Toncoins
// 在编译时工作!
}