Solidity 不可变变量

文章介绍了 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 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
RareSkills
RareSkills
https://www.rareskills.io/