您的位置:首页 > 健康 > 美食 > 北京西站电话_怀化市优化办电话_免费培训seo网站_推广下载

北京西站电话_怀化市优化办电话_免费培训seo网站_推广下载

2025/4/2 16:53:39 来源:https://blog.csdn.net/2301_77485708/article/details/146884982  浏览:    关键词:北京西站电话_怀化市优化办电话_免费培训seo网站_推广下载
北京西站电话_怀化市优化办电话_免费培训seo网站_推广下载

文章目录

  • 单位和全局可用变量(Units and Globally Available Variables)
    • 以太单位(Ether Units)
    • 时间单位(Time Units)
    • 保留关键字

在这里插入图片描述

单位和全局可用变量(Units and Globally Available Variables)

以太单位(Ether Units)

在 Solidity 中,数字字面量可以使用 weigweiether 作为后缀,指定以太的子单位。如果数字没有后缀,则默认单位为 wei

assert(1 wei == 1);
assert(1 gwei == 1e9); // 1 gwei = 10^9 wei
assert(1 ether == 1e18); // 1 ether = 10^18 wei

这些单位的后缀只是对数字进行以 10 为底的幂次乘法。

注意finneyszabo 这两个单位在 Solidity 0.7.0 版本中被移除。

时间单位(Time Units)

数值字面量可以使用 secondsminuteshoursdaysweeks 作为后缀,指定时间单位。这些单位的基础单位是 seconds,并且被简单地定义为:

  • 1 == 1 seconds
  • 1 minutes == 60 seconds
  • 1 hours == 60 minutes
  • 1 days == 24 hours
  • 1 weeks == 7 days

注意
1.这些单位在日历计算中可能会导致误差,因为一年不总是 365 天,甚至一天也不总是 24 小时(例如由于闰秒的影响)。
2.由于闰秒无法预测,要实现精准的日历计算,需要使用外部预言机(oracle)提供更新的时间数据。
3.years 单位在 Solidity 0.5.0 版本中被移除,原因同上。

以下代码是不允许的:

uint duration = 3;
uint timePeriod = duration days; // 错误:无法对变量使用时间单位后缀

如果想要让函数参数表示天数,正确的做法是:

function f(uint start, uint daysAfter) public {if (block.timestamp >= start + daysAfter * 1 days) {// 逻辑代码}
}

保留关键字

以下关键字在 Solidity 中是保留的。它们可能在未来成为语法的一部分:

afteraliasapplyautobytecasecopyofdefaultdefinefinalimplementsininlineletmacromatchmutablenullofpartialpromisereferencerelocatablesealedsizeofstaticsupportsswitchtypedeftypeofvar

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com