文章介绍了 Solidity 语言中的不可变变量(immutable variables),展示了如何在构造函数中初始化这些变量,并说明了尝试修改这些变量会导致编译错误。
如果你打算不改变一个变量,最好明确你的意图。Solidity 有一个关键字可以做到这一点。
contract ExampleContract {
string immutable public name;
constructor(string memory _name) {
name = _name;
}
}
如果一个变量在构造函数中设置并且从不更新,那么它应该是不可变的
如果你尝试写入一个不可变变量,代码将无法编译。
contract ExampleContract {
string immutable public name;
constructor(string memory _name) {
name = _name;
}
// 错误:无法编译
function cannotChangeTheName(string calldata _newName)
external {
name = _newName;
}
}
练习题
查看 Solidity 训练营 ,以了解更多关于智能合约开发和代币标准的内容。
- 原文链接: rareskills.io/learn-soli...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!