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