solidity吧 关注:132贴子:170
  • 3回复贴,共1

solidity结构体使用以及solidity类型小结

只看楼主收藏回复

本帖主要包含以下三个部分
一、什么是类型转换
二、delete重置变量
三、代码实战


IP属地:广东1楼2023-09-27 17:51回复
    一、什么是类型转换
    类型转换是将一个类型转为另一个类型,转换可分为隐式和显式转换。
    隐式转换是在运算符两边有不同类型,在不会丢失数据的情况下,编译器会尝试隐式转换类型。
    例如:uint8 -> uint16,uint256可以转换 uint16,uint256 -> uint8 不会自动转换,因为可能会丢失数据
    显式转换是通过代码强制转换,例如上面的uint16转换到uint8,如果你知道这个变量转换没问题,就可以自己强制转换。
    例如 uint256 num = 100; uint8(num); 就可以强制转换为 uint类型
    强制转换需要注意,如果进行了不正确的转换会报错,如果变量转换为一个更小类型的数据类型,多余部分会被截断。


    IP属地:广东2楼2023-09-27 17:55
    回复
      二、delete重置变量
      delete操作符是用于对变量进行重置,需要注意的是delete对映射类型无效(可以deletemapping里面的元素),delete不影响拷贝变量值
      变量类型 delete后默认值
      bool false
      uint 0
      address 0x0
      bytes 0x0
      string 空字符串 ""
      uint[] 变长数组 重置长度为0
      struct 结构体 会重置其所有成员为默认值


      IP属地:广东3楼2023-09-27 17:55
      回复
        三、写代码练习一下吧


        IP属地:广东4楼2023-09-27 17:56
        回复