本页列出了所有内置 全局静态函数,这些函数在构建 Tact 项目时进行评估,无法处理非恒定的运行时数据。 这些函数通常被称为 “编译时函数”。
fun address(s: String):地址;
编译时函数,用于将带有地址的 字符串转换为 地址类型。
字符串
地址
使用示例
contract Example { // Persistent state variables addr: Address = address("EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N"); // works at compile-time!}
fun cell(bocBase64: String):单元格;
编译时函数,将 base64 编码的 BoCbocBase64作为 [单元格][单元格] 嵌入到合约中。
bocBase64
单元格
contract Example { // 持久状态变量 storedCell:Cell = // 钱包 V3R1 的初始包为 base64-编码的 BoC cell("te6cckEBAQEAYgAAwP8AIN0gggFMl7qXMO1E0NcLH+Ck8mCDCNcYINMf0x/TH/gjE7vyY+1E0NMf0x/T/9FRMrryoVFEuvKiBPkBVBBV+RDyo/gAkyDXSpbTB9QC+wDo0QGkyMsfyx/L/8ntVD++buA=");// 编译时有效!}
fun ton(value: String):Int;
编译时函数,将给定的通币值从人类可读格式String转换为nanoToncoinInt格式。
值
String
Int
contract Example { // 持久状态变量 one:Int = ton("1"); // 10^9 枚纳米通币,等于 1 枚通币 pointOne: Int = ton("0.1"); // 10^8 枚纳米通币,等于 0.1 枚通币 nano: Int = ton("0.000000001"); // 1 枚纳米通币,等于 10^9 枚通币 // 在编译时有效!}