与或短路问题
uint, int, address 类型
uint -> uint256 无符号
int -> int256 有符号
无符号:只能存储大于等于0的数
有符号:分正负
uint8 uint16 uint24 uint32 ….. uint256
addresss -> uint160
// 0xF055775eBD516e7419ae486C1d50C682d4170645
int8 int16 int24 int32 int40 … int256
uint16 0000 0000 0000 0000 ~ 1111 1111 1111 1111
constant 和 view代表只读,不可写
关系运算符
位运算符
算术运算符 和 移位
两个相等 的 超大数 相减,会自动检测抵消,不会溢出.
固定大小字节数组
固定大小字节数组
byte 一个字节
byte 等价于 bytes1 一个字节
bytes1 bytes2 bytes3 bytes4 bytes5 bytes6…bytes32
address 20 160
一个byte 8位
liyuechun
这个字符串 十六进制为: 0x6c697975656368756e
案例:
注意string 类型不支持索引 和 length方法
固定大小字节数组 如何调用length
一个英文字母或者一个数字代表一个字节
固定大小字节数组的 内容 装到 较大的固定大小字节数组 末尾自动添
固定大小字节数组的 内容 装到 较小的固定大小字节数组 自动截断
固定大小字节数组有两个不可变:
长度不可变 ,name.length = 30,报错
内容不可变,name[2] = 0x89报错
固定大小字节数组 关系运算
固定大小字节数组 位运算
可变大小字节数组 bytes
bytes 可变大小字节数组
string可以直接转换为bytes,通过bytes 的length方法可以获取到字节长度
小练习:写一个方法,这个方法有一个字符串参数,通过这个函数返回传入进去的字符串长度
小练习:写一个方法,这个方法有一个字符串参数,通过这个函数返回传入进去的字符串长度
注意: 一个汉字 是3个字节
可变大小字节数组 内容可修改
固定大小字节数组:
1.长度不可变
2.内容不可变
可变大小字节数组:
1.长度可变
2.内容可变
可变大小字节数组 的 新增字节 和 清空
日后随着 学习打怪的不断深入,会解锁其他的高级教程。
期待 吗? 那就关注下面 公众号 随时锁定区块链开发学习教程进度 :)
区块链开发技术共享姜富耀 孔壹
`
领取专属 10元无门槛券
私享最新 技术干货