solidity中的数组(storage类型的数组和其他语言数组差不多,但是memory数组的出现差点搞蒙)

可以参考这个链接(讲的还不错):https://www.jianshu.com/p/8e3da36fe587

 

总结几个注意事项吧:

第一点:storage类型(存于区块链的,永久存在),memory(存于VEM内存中的,用完立即销毁)

第二点:

storage类型的数组:和其他语言的数组基本一致(支持属性length(可以获得长度,还可以修改length来增加长度,比如:length++)、push、pop,new创建)

memory类型的数组:是一个定长数组,可以使用new来创建或length属性获得长度!不支持length修改,也不支持方法push和pop!

第三点:字符串作为数组和其他语言差不多,字符串strings没有length属性,需要转换成bytes来求长度!

solidity之字符串第三方库推荐(编译器版本要注意):https://github.com/Arachnid/solidity-stringutils

solidity中的数组(storage类型的数组和其他语言数组差不多,但是memory数组的出现差点搞蒙)_第1张图片

solidity中的数组(storage类型的数组和其他语言数组差不多,但是memory数组的出现差点搞蒙)_第2张图片

你可能感兴趣的:(以太坊solidity)