代码拉取完成,页面将自动刷新
pragma solidity ^0.4.25;
//类型转换 与 delete重置变量
contract testCast{
//1、类型转换
//低类型转换为高类型,高类型不可以转换为低类型
function add() public pure returns(uint){
uint8 i=10;
uint16 j=20;
uint16 k=i+j;//i会隐式转换为uint16
return k;//k会隐式转换为uint
}
//强制转换发生截断
function f1() public pure returns(uint,uint16){
int8 y=-3;
uint x=uint(y);
uint32 a=12345678;
uint16 b=uint16(a);
return(x,b);
}
//2、delete重置变量
struct CustomType{
bool myBool;
uint myInt;
}
function testDel() public{
bool b=true;
delete b;//b=false
uint a=1;
delete a;//a=0
address addr=msg.sender;
delete addr;//addr=0x0
bytes memory bs="123";
delete bs; //bs=0x0
string memory str="123";
delete str; //str=""
uint[] memory arr=new uint[](7);
delete arr;//arr.length=0
CustomType memory ct=CustomType(true,100);
delete ct;//myBool=false,myInt=0
}
// delete mapping
mapping(address => uint) balances;
function delMapping() public{
// delete balances;
delete balances[msg.sender];
}
uint data;
uint[] dataArray;
function f2() public{
//值传递 ,互相不会影响
uint x=data;
delete x;
delete data;
//引用赋值
uint[] storage y=dataArray;
delete dataArray;
// delete y;报错 没有办法向一个引用类型的storage直接赋值
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。