1. 程式人生 > >【solidity語言】為什麼在合約內部return this.屬性或方法不行的原因?(理解外部呼叫和內部呼叫)

【solidity語言】為什麼在合約內部return this.屬性或方法不行的原因?(理解外部呼叫和內部呼叫)

contract Person  {
    
    int[] public array;
    string public ss;

     function PersonTest1() public view returns(string) {

        this.array;   //public支援外部呼叫!
        ss += "hello"; //public支援內部呼叫!
        
        //在solidity語言中,合約內部this.ss屬於外部呼叫,不允許return返回一個外部呼叫!
        return this.ss; //外部呼叫返回,錯誤的方式!(這裡和其他語言不一樣,很容易搞混!)
        return ss;  // 內部呼叫返回,正確的方式!
    }
}


solidity語言在很多細節方面和其他語言還是有區別,沒辦法,語言學習多了,只能適應它的規則!