Solidity-basic-syntax
堅牢性-基本的な構文
Solidityソースファイルには、任意の数のコントラクト定義、インポートディレクティブ、およびプラグマディレクティブを含めることができます。
Solidityのシンプルなソースファイルから始めましょう。 以下は、Solidityファイルの例です-
pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
プラグマ
最初の行はプラグマディレクティブで、ソースコードがSolidityバージョン0.4.0またはバージョン0.6.0を含まないが機能を分割しない新しいバージョン用に記述されていることを示します。
プラグマディレクティブは常にソースファイルに対してローカルであり、別のファイルをインポートする場合、そのファイルのプラグマはインポートファイルに自動的に適用されません。
したがって、バージョン0.4.0より前にコンパイルされず、バージョン0.5.0以降のコンパイラでも動作しないファイルのプラグマは、次のように記述されます-
pragma solidity ^0.4.0;
ここでは、^を使用して2番目の条件が追加されます。
契約する
Solidityコントラクトは、Ethereumblockchainの特定のアドレスにあるコード(その機能)とデータ(その状態)のコレクションです。
行uintstoredDataは、uint型のstoredDataという状態変数を宣言し、関数setおよびgetを使用して変数の値を変更または取得できます。
ファイルをインポートする
上記の例にはimportステートメントはありませんが、SolidityはJavaScriptで利用可能なimportステートメントに非常に類似したimportステートメントをサポートしています。
次のステートメントは、「ファイル名」からすべてのグローバルシンボルをインポートします。
import "filename";
次の例では、メンバーがすべて「filename」のグローバルシンボルである新しいグローバルシンボルsymbolNameを作成します。
import * as symbolName from "filename";
現在のファイルと同じディレクトリからファイルxをインポートするには、import "./x" as x;を使用します。 import "x"をxとして使用する場合;代わりに、グローバルな「インクルードディレクトリ」で別のファイルを参照できます。
予約済みキーワード
以下はSolidityの予約キーワードです-
abstract | after | alias | apply |
auto | case | catch | copyof |
default | define | final | immutable |
implements | in | inline | let |
macro | match | mutable | null |
of | override | partial | promise |
reference | relocatable | sealed | sizeof |
static | supports | switch | try |
typedef | typeof | unchecked |