[DAppsプログラミング言語]Solidityの構造体とEnum(列挙型)

プログラミング

スマートコントラクトプログラミング言語であるSolidityの構造体とEnum(列挙型)について記載します。

Solidityの構造体とEnum(列挙型)

Solidityの構造体

Solidity の構造体では、複数のプロパティを持つ複雑なデータ型を作成することができる仕様となっています。

構造体を作成することで、独自の型を定義することができ、関連するデータをグループ化するのに便利です。

また、Solidityの構造体はコントラクトの外部で宣言して、別のコントラクトでインポートすることもできます。

Solidityでは主にレコードを表現するために使用されます。

構造体を定義するには、struct キーワードを使用し、新しいデータ型を作成します。

Solidityの構造体の構文

構造体の任意の要素にアクセスするには、構造体変数とアクセスしたい要素を分離する「ドット演算子」を使用します。

下記ソースコードは、構造体Bitcoinerを定義し、オブジェクト化したbitcoinerの要素の値(Bitcoiner.name)を設定、取得するための関数を定義したコントラクトとなります。

Enum(列挙型)

列挙型(Enum)は、ユーザー定義のデータ型を作成する方法です。

列挙型は、あらかじめ定義されたいくつかの値のうちの1つで変数を制限し、これらの列挙型リストの値を列挙型と呼びます。

通常、積分定数の名前を提供するために使用され、メンテナンスと読み込み速度が向上するメリットがあります。また、enumを使用することで、コードのバグを減らすことができます。

オプションは0から始まる整数値で表され、列挙型にはデフォルト値を指定することもできます。

Solidityのenumの構文

下記ソースコードは、列挙体countryを定義し、オブジェクト化したbitcoinerの要素の値(Bitcoiner.name)を設定、取得するための関数を定義したコントラクトとなります。

最後に

今回紹介したSolidityの仕様やコードをRemix IDEHardhatで実際に実行やテストをして確認してみましょう。

実際に動かしたり、テストすることで理解が深まるかと思います。

hardhatのインストール手順

Ethereum(イーサリアム)のDApps開発環境Hardhatのインストール手順
Ethereum(イーサリアム)のローカル開発環境であるHardhatのインストール手順を記載します。 Hardhatとは? Hardhatは、Solidityなどで開発したイーサリアムのスマートコントラクト、Dappsをコ...

HardhatでスマートコントラクトのDeploy手順

[Hardhat]SolidityでHello Worldのスマートコントラクトを作成
Solidityを使ってHello Worldを作成してみましょう SolidityでHello World! 前提条件 ・Hardhat デフォルト・フォルダ構成 Hardhatについては下記記事を参照ください。 ...
タイトルとURLをコピーしました