Solidityの基礎:関数を定義する
関数とは
Solidityにおける関数は、プログラミング全般における関数と大きく違いはありません。状態変数(パラメーター)などのインプットをもとに、一定のアウトプットを出力します。
関数の宣言時に「private」や「public」といったアクセス範囲を定義します。
- public
誰でも、当該関数を実行することができます - private
同一コントラクト内の他の関数からのみ、当該関数を実行することができます - external
同一コントラクト内から以外、誰でも、当該関数を実行することができます - internal
同一コントラクト内および同一コントラクトを継承したコントラクト内の他の関数からのみ、当該関数を実行することができます
構造体(オブジェクト)を定義する
Solidityで関数を宣言する際には、以下のように「function 関数名 public/private { }」を記述します。
privateな関数の場合、関数名は「_関数名」で記述するのが通例です。また、関数のインプットとなる状態変数名も「_状態変数名」と記述するのが一般的です。
「createHuman」という関数を定義する場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
pragma solidity ^0.4.19; contract SampleContract { struct Human { int age; string name; } Human[] public people; //関数を宣言:Humanを作成してpeople配列に追加するプライベート関数を定義する function createHuman(int _age, string _name) private { Human human = Human(_age, _name); people.push(human); //一行で書くこともできます people.push(Human(_age, _name)); } } |
Solidityの初心者向けガイドに戻る
基礎編:状態変数 / 構造体 / 関数の基礎を理解する
- DApps開発入門:Solidityの基礎:スマートコントラクトを定義する
- DApps開発入門:Solidityの基礎:状態変数を定義する
- DApps開発入門:Solidityの基礎:数式を演算する
- DApps開発入門:Solidityの基礎:構造体を定義する(struct)
- DApps開発入門:Solidityの基礎:配列を定義する
- DApps開発入門:Solidityの基礎:関数を宣言する(function)
- DApps開発入門:Solidityの基礎:関数の修飾子(viewとpure)
コメントを残す