在 Solidity 中,constant
變量用於定義不可變的常數值。這些常數在合約的生命週期內不會改變,並且它們的值必須在宣告時設定。使用 constant
關鍵字可以節省 gas,因為它們在編譯時就已經被嵌入到字節碼中,不需要在運行時讀取存儲。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
contract Constants {
// 定義一個常數變量
uint256 public constant MY_CONSTANT = 123;
string public constant MY_STRING = "Hello, Solidity!";
// 該函數將返回常數變量的值
function getConstant() public pure returns (uint256) {
return MY_CONSTANT;
}
function getStringConstant() public pure returns (string memory) {
return MY_STRING;
}
}
在上面的範例中:
MY_CONSTANT
是一個 uint256
類型的常數,其值為 123
。MY_STRING
是一個 string
類型的常數,其值為 "Hello, Solidity!"
。getConstant
函數返回 MY_CONSTANT
的值,getStringConstant
函數返回 MY_STRING
的值。使用 constant
變量有以下幾個優點:
總結來說,在 Solidity 中使用 constant
變量是一種很好的編碼習慣,有助於提高合約的效率和安全性。
[Reference]
ChatGPT 3.5