可以参考这个链接(讲的还不错):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