接下來幾天會花不少時間跟大家介紹 solidity 的語法介紹,今天會先介紹,學習一個語言很重要的型別

其實 solidity 的 types 跟我自己熟悉的 golang 型別並沒有差異太多基本上都很 c++ like 的型別,我下面做了幾種分類

數字相關

int8 public num = 66; // 8 bit
int16 public num = 66; // 16 bit
int256 public num = 66; //256 bit
int public num = 66; // 預設不填寫就是 int256

uint8 public num = 66; //無負號 8 bit
uint16 public num = 66; //無負號 16 bit
uint256 public num = 66; //無負號 256 bit
uint public num = 666; //預設不填寫 uint256

fixed128x18 public float = 16.6 // 這是solidity 很特別的浮點數相關的語法 `fixedMxN`,M是該類型的佔用位數,N是表示可用的小數位數。 
ufixed128x18 public float = 16.6 // 同上只是無負號

布林值

bool public switch = true:
bool public switch = false;

字串

string public word = 'Hello World';

位址

address public host = 0x121; // 最常應用的範圍拿來儲存以太的錢包位址

Enum

enum Sex {
   Male
   Female
}

byte & bytes

bytes1 public b; //這是指劃分1個byte solidty 有提供 bytes1 bytes2 bytes3.... bytes32,可以直接選擇
bytes public b; //這會依據你所給的數字,自動幫你劃分記憶體大小。

這邊只是先做一些簡單的 value types 的介紹,如果需要更詳盡的說明,包含一些語法版本的差異建議還是上官方文件,有更完整的說明。

這邊使用的版本都是以 solidity v0.8.7 為範例