第6节:不可变量immutable

小白入门:https://github.com/dukedaily/solidity-expert ,欢迎star转发,文末加V入群。

职场进阶: https://dukeweb3.com

  1. 与常量类似,但是不必硬编码,可以在构造函数时传值,部署后无法改变。
  2. immutable仅支持值类型(如:int,address,bytes8),不支持非值类型(如:string,bytes)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract Immutable {
    // coding convention to uppercase constant variables
    address public immutable MY_ADDRESS;
    uint public immutable MY_UINT;
      bytes1 public immutable MY_BYTES1 = 0xff;
      // string public immutable greetings = "hello";  // error

    constructor(uint _myUint) {
        MY_ADDRESS = msg.sender;
        MY_UINT = _myUint;
    }
}