天天看點

以太坊:深入了解Solidity-合約結構

合約結構

在 Solidity 語言中,合約類似于其他面向對象程式設計語言中的**類**。

每個合約中可以包含 狀态變量、 函數、 函數 、事件 Event、 結構體、 和 枚舉類型 的聲明,且合約可以從其他合約繼承。

還有一些特殊的合約,如: 庫 和 接口.

專門的 合約 章節會比本節包含更多的内容,本節用于幫助我們合約包含哪些内容,做一個簡單的入門。

狀态變量是永久地存儲在合約存儲中的值。

有效的狀态變量類型參閱 類型 章節, 對狀态變量可見性有可能的選擇參閱 可見性和 getter 函數 。

函數是合約中代碼的可執行單元。

函數調用 可發生在合約内部或外部,且函數對其他合約有不同程度的可見性( 可見性和 getter 函數)。

函數 可以接受 參數和傳回值。

函數 修飾器modifier 可以用來以聲明的方式修改函數語義(參閱合約章節中 函數修改器)。

事件是能友善地調用以太坊虛拟機日志功能的接口。

有關如何聲明事件和如何在 [DApp 中使用事件](https://learnblockchain.cn/2018/05/09/solidity-event/)的資訊,參閱合約章節中的 事件。

結構體是可以将幾個變量分組的自定義類型(參閱類型章節中的 結構體)。

枚舉可用來建立由一定數量的“常量值”構成的自定義類型(參閱類型章節中的 枚舉類型)。