solidity语法之开发时注意的语法小细节

文章讲述了在编程中,当数组声明为memory类型时,不能使用push方法来添加元素,因为memory数组不支持这种方法。如果需要向此类数组添加元素,必须指定下标。错误示例展示了尝试使用push方法导致的TypeError,并提供了正确向memory数组末尾添加元素的方法。
摘要由CSDN通过智能技术生成

数组push()的使用小细节:

说明:当动态数组向末尾追加一个元素时,我们习惯性的会使用 push 方法向数组末尾添加元素,但是我们需要注意的是:当我们将数组声明为memory(即在 memory 中基于运行时的动态长度数组)不能 通过修改成员变量 .push 改变 memory 数组的大小。
如下(错误示范):
在这里插入图片描述
报错:
TypeError: Member “push” is not available in struct LibProject.Translators memory[] memory outside of storage.
报错说明:由于我们创建的_pro是memory(内存)数组,所以我们无法使用push方法为其增加一个元素,若需要增加元素,我们需指定下标位置,如下示例,向_pro数组末尾添加元素示例:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值