Solidity

什麼時候可以在建構子中使用它?

  • April 10, 2021

我正在瀏覽solidity docs,我已經看到:

   // Functions can
   // be accessed directly or through `this.f`,
   // but the latter provides an external view
   // to the function. Especially in the constructor,
   // you should not access functions externally,
   // because the function does not exist yet.

在什麼情況下應該在建構子中使用 this?

你可以這樣做:

constructor() {
 foo();
}

function foo() public {
...

但你不能這樣做:

constructor() {
 this.foo(); // external call to non-existant function
}

function foo() external {

foo()確實可以作為函式的外部函式使用,但建構子直到最後才“編寫”程式碼,因此foo()在建構子完成之前不存在。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/96987