在 Solidity 中,有兩個關鍵字 constant 和 immutable。當在狀態變數聲明中使用這兩個關鍵字時,這些變數的值不能在合約創建後被更改,而且它們還可以幫助節省 gas 費用。需要注意的是,只有數值類型的變數可以聲明為 constant 和 immutable,字符串和字節數組可以聲明為 constant,但不能聲明為 immutable。
constant 變數必須在聲明時進行初始化,初始化後的值將不能再次更改。如果試圖更改 constant 變數的值,合約將無法通過編譯。
immutable 變數可以在聲明時或構造函數中進行初始化,這使得它們更加靈活。你可以使用全局變數或自定義的函數來初始化 immutable 變數。