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

目录
相关文章
|
Dart
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数
函数(Function)也被称为方法(Method)。其最直观的理解就是数据中的函数,比如y=f(x),在编程中,f对输入x进行处理,返回结果y,就是一个函数......
1083 0
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数
|
6月前
|
数据库 Python
Python模块重载的五种方法
【7月更文挑战第17天】在Python中实现模块重载可通过以下五种方法: 1. 使用`importlib.reload()`重新加载模块 2. 重新执行导入语句,先删除`sys.modules`中的模块再导入 3. 利用`exec()`函数直接读取并执行模块代码: ```python with open('my_module.py', 'r') as f: code = f.read() exec(code) 4. 通过新进程或子线程重新导入和执行模块. 5. 设计模块时采用动态加载配置或数据,避免直接重载.
285 4
|
8月前
|
设计模式 JavaScript 前端开发
js开发:请解释闭包(closure)是什么,以及它的用途。
【4月更文挑战第23天】闭包是JavaScript中的一个重要概念,允许函数访问并操作外部作用域的变量,常用于实现私有变量、模块化和高阶函数。私有变量示例展示了如何创建只在特定函数内可访问的计数器。模块化示例演示了如何封装变量和函数,防止全局污染。最后,高阶函数示例说明了如何使用闭包创建接受或返回函数的函数。
45 0
|
8月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift的可选类型是处理值可能缺失的类,用?表示。它们能表示有值或无值状态。安全解包用`if let`或`guard let`避免崩溃,而强制解包`!`则风险较高,若值为`nil`会触发运行时错误。
58 0
|
8月前
|
存储 Rust 程序员
rust中的函数:定义、调用与闭包
本文将深入探讨Rust编程语言中函数的定义、调用方式,以及闭包(closures)的概念和应用。我们将从函数的基本语法出发,逐步深入到函数的参数传递、返回值,再进一步介绍闭包及其捕获环境的能力,帮助读者全面理解并熟练运用Rust中的函数与闭包。
|
8月前
|
存储 Swift
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
175 1
|
8月前
|
JavaScript 前端开发 程序员
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
152 1
|
安全 Swift
Swift-Currying(柯里化)
柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数切返回结果的新函数的技术
265 0
|
自然语言处理 Dart 算法
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型
函数在Dart中是对象,因此,可以将函数作为参数传递给另一个函数、作为一个'值'赋值给一个变量。下面主要介绍匿名函数、内联函数类型的使用,以及了解下作用域和闭包...
796 0
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型
|
区块链
solidity 合约间调用以及参数传递
在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理. contract1.sol pragma solidity ^0.4.0; contract Test1 { uint256 public v=7; function vote(uint256 a) pu...
3382 0