Solidity极简入门第九讲:常量constant和immutable

  • 本文介绍了Solidity编程语言中的两个关键字constant(常量)和immutable(不变量),它们用于声明不可更改的状态变量,同时还能节省gas费用
  • constant变量必须在声明时初始化且之后无法修改,尝试修改会导致编译错误
  • immutable变量更灵活,可以在声明时或在构造函数中初始化,并允许使用全局变量或自定义函数进行初始化
  • 只有数值变量可以声明为constantimmutable,字符串和字节可以声明为constant但不能为immutable
  • 文章通过代码示例展示了如何使用这些关键字,并强调了它们在保持变量不可变方面的作用
总结

原文:《Solidity 极简入门: 9. 常量constant 和 immutable》

我最近在重新学 solidity,巩固一下细节,也写一个「Solidity 极简入门」,供小白们使用(编程大佬可以另找教程),每周更新 1-3 讲。

所有代码和教程开源在 github:github.com/AmazingAng/WTFSolidity

这一讲,我们介绍 solidity 中两个关键字,constant(常量)和 immutable(不变量)。状态变量声明这个两个关键字之后,不能在合约后更改数值;并且还可以节省 gas。另外,只有数值变量可以声明 constant 和 immutable;String 和 bytes 可以声明为 constant,但不能为 immutable。

constant 和 immutableconstant

constant

变量必须在声明的时候初始化,之后再也不能改变。尝试改变的话,编译不通过。

Solidity极简入门第九讲:常量constant和immutable

immutable

immutable 变量可以在声明时或构造函数中初始化,因此更加灵活。

Solidity极简入门第九讲:常量constant和immutable

你可以使用全局变量例如 address(this),block.number,或者自定义的函数给 immutable 变量初始化。在下面这个例子,我们利用了 test() 函数给 IMMUTABLE_TEST 初始化为 9:

Solidity极简入门第九讲:常量constant和immutable

总结

这一讲,我们介绍 solidity 中两个关键字,constant(常量)和 immutable(不变量),让不应该变的变量保持不变。

分享至:

作者:0xAA

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:0xAA如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
1小时前
4小时前
6小时前
2025-12-13 09:23
2025-12-13 07:30
2025-12-13 05:30

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读