初心者のための Solidity チュートリアル: 8. 変数の初期値

初心者のための Solidity チュートリアル: 8. 変数の初期値

変数の初期値

Solidityでは、宣言されていても値が割り当てられていない変数には、初期値またはデフォルト値があります。今回はよく使われる変数の初期値について紹介します。

値の型の初期値

  • ブール値: false
  • ""
  • 整数: 0
  • 単位: 0
  • enum : 列挙型の最初の要素
  • アドレス: 0x0000000000000000000000000000000000000000 (またはアドレス(0) )
  • 関数
    • 内部: 空の式
    • 外部: 空の式

パブリック変数のgetter関数を使用して、上で記述した初期値が正しいかどうかを確認できます。

bool public _bool; // false
    string public _string; // ""
    int public _int; // 0
    uint public _uint; // 0
    address public _address; // 0x0000000000000000000000000000000000000000

    enum ActionSet { Buy, Hold, Sell}
    ActionSet public _enum; // 第1个内容Buy的索引0

    function fi() internal{} // internal空白方程
    function fe() external{} // external空白方程

参照型の初期値

  • マッピング: すべての要素がデフォルト値にマッピングされます
  • 構造体 struct : すべてのメンバーがデフォルト値に設定された構造体
  • 配列配列_
    • 動的配列: []
    • 静的配列 (固定長): すべてのメンバーがデフォルト値に設定された静的配列

パブリック変数のgetter関数を使用して、上で記述した初期値が正しいかどうかを確認できます。

// Reference Types
    uint[8] public _staticArray; // 所有成员设为其默认值的静态数组[0,0,0,0,0,0,0,0]
    uint[] public _dynamicArray; // `[]`
    mapping(uint => address) public _mapping; // 所有元素都为其默认值的mapping
    // 所有成员设为其默认值的结构体 0, 0
    struct Student{
        uint256 id;
        uint256 score;
    }
    Student public student;

削除演算子

a を削除すると、変数aの値が初期値に変更されます。

// delete操作符
    bool public _bool2 = true;
    function d() external {
        delete _bool2; // delete 会让_bool2变为默认值,false
    }

リミックスで検証する

  • コントラクトをデプロイして値型と参照型の初期値を表示する画像.png
  • 値型、参照型の削除操作後のデフォルト値画像.png

要約する

今回の講義ではsolidityにおける変数の初期値について紹介しました。変数が宣言されていても値が割り当てられていない場合、その値はデフォルトの初期値になります。変数の型が異なれば初期値も異なります。delete演算子を使用すると、変数の値を削除して初期値に置き換えることができます。

おすすめ

転載: blog.csdn.net/weixin_52148451/article/details/132666099