{"content":{"title":"Solidity 常量","body":"不可变变量可以在构造函数中设置一次，但如果你有一个永远不会改变的数字怎么办？\r\n\r\n与其他语言一样，Solidity 有 **constant** 关键字。这表示该值是固定的，永远不会改变。\r\n\r\n假设你有一个 ERC20 代币，其铸造量永远不应超过 2200 万。\r\n\r\n这是实现它的简洁方式\r\n\r\n```solidity\r\n**contract ExampleERC20 {\r\n\r\n    uint256 public constant MAX_SUPPLY = 22_000_000;\r\n    // erc20 代码\r\n\r\n    function mint(unint256 amount) external {\r\n        require(totalSupply() + amount <= MAX_SUPPLY, \"max supply exceeded\");\r\n        balanceOf[msg.sender] += amount;\r\n\r\n        emit Transfer(address(0), msg.sender, amount);\r\n    }\r\n    // erc20 代码的其余部分\r\n}**\r\n```\r\n\r\n请注意，22000000 写为 22\\_000\\_000。它们的含义相同，但后者更具可读性。数字中的下划线被简单地忽略。\r\n\r\n###  了解更多\r\n\r\n查看  [Solidity 训练营](https://learnblockchain.cn/openspace/1) ，以了解更多关于智能合约开发和代币标准的内容。\r\n \r\n\r\n>- 原文链接： [rareskills.io/learn-soli...](https://www.rareskills.io/learn-solidity/constants)\r\n>- 登链社区 AI 助手，为大家转译优秀英文文章，如有翻译不通的地方，还请包涵～"},"author":{"user":"https://learnblockchain.cn/people/20722","address":null},"history":null,"timestamp":1740625330,"version":1}