// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0<0.9.0;//值类型
contract DataTypes{//布尔型bool public boo =true;//整型
uint8 public u8=123;
uint256 public u256 =456;
uint public u=789;
int8 public i8=-123;
int256 public i256 =-456;
int public i =-789;//整型最值
int public minInt =type(int).min;
int public minMax =type(int).max;//地址类型
address public addr =0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;//余额
uint public balance = addr.balance;//字节型
bytes1 public b1 =0x1a;//一个字节
bytes2 public b2 =0x1a2b;//two byte
bytes32 public b3 =0x35c777b82e0fb4652a3562e28e1cf714ba503232888a7334e08377cb12cdd29c;//up 32 byte//字符串
string public str="hello ihan001";//defaultbool public defaultBoo;//0
uint public defaultUint;//0
int public defaultInt;//0
address public defaultAdrr;//0x0000000000000000000000000000000000000000}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0<0.9.0;//
contract Enum{//无分号,定义一个枚举类型enumAction{Up,Down,Left,Right}//定义变量Action public action;//
function setDefault() public{
action =Action.Left;}//
function set(Action _action) public{
action = _action;}
function get() public view returns(Action){return action;}//
function getMinValue() public pure returns(Action){returntype(Action).min;}
function getMaxValue() public pure returns(Action){returntype(Action).max;}}