SOLIDITY REMIX方法传递数组参数

简介: SOLIDITY REMIX方法传递数组参数

在编写智能合约的时候,某些方法可能需要通过传递数组来实现,那么在solidity中如何通过传递数组来完成相应的功能呢。下面以具体实例来进行说明。


function test1(address[] memory a3,uint256[] memory a4) public{

 // 省略业务逻辑

}

面的方法中参数a3为地址的数组,参数a4为整数的数组。在remix编译出来的方法中展示效果如下。


image.png那么,在此如何进行相应的参数封装和传递呢?有两种方案可实行,在实行这两种方案之前,先进行了解一下这里数组的结构,以下为地址单个参数时所传递的数组结构:


["0x2157BD9E65369D1C1CaeF981212748735F1C187B","0xCcd4BC74ebdEd88EAf9bAf49846b3a2257815E21"]

1

这样就封装了a3这一类的数组参数,但此时是两个数组,那么他们之间同样可以通过逗号进行分割。因此,针对上面情况就参数就变成了:


["0x2157BD9E65369D1C1CaeF981212748735F1C187B","0xCcd4BC74ebdEd88EAf9bAf49846b3a2257815E21"],[1000,10000]

1

上面这种形式是一种方案,就是直接在test1后面的参数中填写上面的数据内容直接执行。


另外一种方案就是点击test1后面的向下的箭头,展开之后会出现下图所示的两个参数,原本用逗号分隔的两部分,分别填入两个参数中,同样可以达到目的。


image.png

目录
相关文章
|
6月前
|
编译器 API C语言
在x86架构汇编语言中函数参数传递的三种约定
在x86架构汇编语言中函数参数传递的三种约定
183 2
|
6月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift的可选类型是处理值可能缺失的类,用?表示。它们能表示有值或无值状态。安全解包用`if let`或`guard let`避免崩溃,而强制解包`!`则风险较高,若值为`nil`会触发运行时错误。
48 0
|
6月前
|
存储 Rust 程序员
rust中的函数:定义、调用与闭包
本文将深入探讨Rust编程语言中函数的定义、调用方式,以及闭包(closures)的概念和应用。我们将从函数的基本语法出发,逐步深入到函数的参数传递、返回值,再进一步介绍闭包及其捕获环境的能力,帮助读者全面理解并熟练运用Rust中的函数与闭包。
|
6月前
|
JavaScript 前端开发 程序员
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
148 1
|
JavaScript 前端开发
|
JavaScript 前端开发
|
JavaScript 前端开发
|
JavaScript 前端开发
|
JavaScript 前端开发
|
自然语言处理 Dart 算法
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型
函数在Dart中是对象,因此,可以将函数作为参数传递给另一个函数、作为一个'值'赋值给一个变量。下面主要介绍匿名函数、内联函数类型的使用,以及了解下作用域和闭包...
767 0
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型