

test_1 と test_2 の違いがわかりません。（testMessageを呼び出すような関数を作成すると、両方とも同じように機能します）

[code]

    contract test_1 {
      string testMessage = "Hello,world!";
    }
    
    contract test_2 {
      string testMessage;
        constructor() {
          testMessage = "Hello,world!";
        }
    }
    
[/code]

先述した通り、testMessageを呼び出してみるとどちらも Hello, world がちゃんと表示されます。

[code]

    function getMessage() public view returns(string){
      return testMessage;
    }
    
[/code]

**実行結果:**

[code]

    Hello,world!
    
[/code]

コンストラクタが特別な意味を持っていることは知っていますが、それが具体的にどんな役割を持っているのかが分かりません。


CC BY-SA 4.0
2022-03-11T06:38:36.413
86798
2022-05-11T11:35:31.467
2022-05-11T11:35:31.467
3060
51791
question
solidity
Solidity のコンストラクタはどのような役割を持っていますか？


以下のドキュメントにあるように、一度だけ実行されるものになります。

<https://solidity-jp.readthedocs.io/ja/latest/contracts.html>

> コントラクトが作られた時、constructor ( constructor キーワードで宣言されるファンクション)が一度だけ実行されます。


CC BY-SA 4.0
2022-05-11T10:12:35.867
88764
2022-05-11T11:33:37.230
2022-05-11T11:33:37.230
3060
52563
86798
answer