問題一覧に戻る
初級基本構文
問題27: 型変換(キャスト)
Solidityの型変換(型キャスト)を学習します。異なる型間での明示的な型変換はtype(value)構文を使用して必要です。大きい型から小さい型(uint256からuint8)への変換時、データが切り捨てられる可能性があり、最下位ビットのみが保持されます。小さい型から大きい型への変換は安全です。一般的な変換には異なるuintサイズ間、アドレス型、bytes型が含まれます。キャストの理解は相互運用性とデータ損失の防止に重要です。
pragma solidity ^0.8.0;
contract TypeCasting {
// uint256からuint8への変換
function toUint8(uint256 value) public pure returns (uint8) {
return (value);
}
// uint8からuint256への変換
function toUint256(uint8 value) public pure returns (uint256) {
return (value);
}
// uint160からaddressへの変換
function toAddress(uint160 value) public pure returns (address) {
return (value);
}
// uint256からbytes32への変換
function toBytes32(uint256 value) public pure returns (bytes32) {
return (value);
}
}