昨天有講到Solidity語言中的幾個基本資料型態,今天繼續來講解其他常見的語法吧!
函式的寫法為:
function (variable) {public|private|external|internal} {pure|view|payable} returns(type)
以下面這個程式為範例
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract SimpleStorage {
uint public num;
function set(uint _num) public {
num = _num;
}
function get() public view returns (uint) {
return num;
}
}
首先,我們先宣告一個名稱為 num
的 public
變數,資料型態是 uint
uint public num;
接著看到下面這段函式
function set(uint _num) public {
num = _num;
}
set(uint _num)
:set
表示為這個函式的名稱,並且它接受一個名稱為 _num
的變數,其資料型態為 uint
public
:是一個修飾詞,表示這個函式是任何人都可以呼叫的num = _num
:表示將 _num
這個變數的值,賦予給 num
這個變數,代表整個合約中必須有一個名稱叫做 num
的變數
簡而言之,這是一個名叫的 set
函式,它被允許供任何的使用者呼叫,用來設置或更新合約中一個名稱叫做 num
的變數之值,其資料型態為 uint
再來看到下面這段函式
function get() public view returns (uint) {
return num;
}
get()
:表示為這個函式的名稱,也代表這個函式是將public
:是一個修飾詞,表示這個函式是任何人都可以呼叫的view
:是一個修飾詞,表示這個函式只供「查看」和「讀取」資料,不會對合約進行更改的動作return (uint)
:為指定函式所返回的資料類型,這裡所返回的型別為 uint
return num
:表示這個函式返回一個名稱為 num
的變數,代表整個合約中必須有一個名稱叫做 num
的變數,並且它的資料型態會是 uint
綜合來說,這是一個名叫的 get
函式,它被允許供任何的使用者呼叫,用來查詢合約中一個名稱叫做 num
的變數之值,其資料型態為 uint
這樣就能夠從合約中讀取數值!
Solidity支援的運算子,常見的其中幾個:
+
, -
, *
, /
, %
**
,a的b次方,記作 a**b
<<
, >>
+=
, -=
, *=
, /=
參考資料:https://solidity-by-example.org/state-variables/