Solidityにおけるenum(列挙型)の書き方について解説します。
構文
Solidityにおけるenum(列挙型)の書き方ですが、以下のようにします。
値ですが、最初の定数を0とし、0から1, 2, 3 ... , nと順に割り振られます。
enum 変数名 {
定数1,
定数2,
定数n
}
サンプルコード
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Test {
// 列挙型
enum Colors {
None, // 0
Red, // 1
Green, // 2
Blue // 3
}
Colors color = Colors.None;
function setRed() public {
color = Colors.Red;
}
function setGreen() public {
color = Colors.Green;
}
function setBlue() public {
color = Colors.Blue;
}
function clearColor() public {
color = Colors.None;
}
function getColor() public view returns(Colors) {
return color;
}
}
enum(列挙型)は特定の定数を纏めたい場合に便利です。コードの見通しも良くなりますので、積極的に活用していきましょう。