solidity——第四课函数输出

这篇具有很好参考价值的文章主要介绍了solidity——第四课函数输出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们将学习solidity函数输出:

1.返回多种变量,

2.命名式返回,

3.利用解构式赋值读取全部和部分返回值

一,返回值return和returns

solidity中有两个关键字与函数输出相关,return和returns,他们的区别在于:

return用于函数主体中,返回指定的变量。

returns加在函数名后面,用于声明返回的变量类型及变量名。

    // 返回多个变量
    function returnMultiple() public pure returns(uint256, bool, uint256[3] memory){
            return(1, true, [uint256(1),2,5]);
        }

上面这串代码,我们声明的函数returnMultiple里有多个输出:returns(uint256,bool,uint256[3] memory),分别有return(1,ture,[uint256(1),2,5])与之对应返回值。

二,命令式返回

我们可以在returns中标明返回变量的名称,这样solidity会自动给这些变量初始化,并且自动返回这些函数的值,不需要加return。

// 命名式返回
    function returnNamed() public pure returns(uint256 _number, bool _bool, uint256[3] memory _array){
        _number = 2;
        _bool = false; 
        _array = [uint256(3),2,1];
    }

在上面的代码中,我们用returns(uint256 _number,bool _bool,uint256[3]memory _array)声明了返回变量类型以及变量名。这样,我们在主体中只需要给变量_number,_bool,_array赋值就可以自动返回了。

同时如果return同样也是可行的

function returnNamed2 public pure returns(uint256 _number,bool _bool,uint256[3]memory_array){
    return(1,ture,[uint256(3),2,1]);
}

三,解构式赋值

solidity使用解构式赋值的规则,支持读取函数的全部或部分返回值。

1.读取所有返回值:声明变量,并且将要赋值的变量用,隔开,按顺序排列。

uint256 _number;
        bool _bool;
        uint256[3] memory _array;
        (_number, _bool, _array) = returnNamed();

2.读取部分返回值:声明要读取的返回值对应的变量,不读取的留空。下面这段代码中,我们只读取_bool,而不读取返回的_bool和_array;文章来源地址https://www.toymoban.com/news/detail-745689.html

 (, _bool2, ) = returnNamed();

到了这里,关于solidity——第四课函数输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链入门系列文章—solidity中的HelloWord

    本系列教程将从零开始记入笔者学习区块链的过程,欢迎批评指正。 Solidity 的代码都涵盖在智能合约里面. 一个智能合约就是以太坊应用的最小单元, 所有的变量和函数都属于一个智能合约, 它是你所有应用的起点。 代码如下(示例): pragma solidity ^0.4.19; 0.4.19代表的是你使

    2024年02月02日
    浏览(50)
  • solidity学习-如何在智能合约中打印Log日志

    在写合约的过程中经常会遇到一些错误。这个时候想要查看合约运行过程中的一些数据,那么就可以用以下方法: 在合约中创建一个Event,起名为Log 在想要打印日志的地方调用事件 emit Log(...),就可以查看运行过程中的数据了 如下图: 点击deploy,在控制台就可以查看打印出

    2024年02月11日
    浏览(33)
  • spark第四课

    countByValue 数据源中相同的值有多少个,也就是WordCount countByKey 表的是键值对中的key出现了几次,与Value的值无关 不推荐collect,因为他是将数据放入内存,但是内存不够大的话,就容易崩,所以使用saveAsTextFile更好,直接放入磁盘. 保存成对象文件,需要序列化 启动了2个 Job数量: 只要执行

    2024年02月12日
    浏览(29)
  • 【区块链-智能合约工程师】第二篇:Solidity入门

    参考文章:一文速览2022十大智能合约开发工具 资料地址:WTF学院 HelloWorld remix:在线智能合约开发IDE(Integrated Development Environment,集成开发环境),可以在浏览器中快速部署测试智能合约。 合约HelloWorld: 事项 说明 代码所用的软件许可(license) 不写许可的话编译时会警告

    2024年02月09日
    浏览(44)
  • 思维训练 第四课 省略句

    He often regards English as easy and (He often regards) French as difficult.他常把英语看作是容易学的,而法语是难学的。 This happened and (it was)a good thing too, for it helped us to find out our shortcomings.这件事情发生了,但也是好事,因为它帮助我们找到我们自己的缺点。 In our class boys like sports, while

    2024年02月06日
    浏览(29)
  • Python 常用内置函数详解(二):print()函数----打印输出

    print() 函数是 Python 编程最常见的函数,常用于输出程序结果,默认输出到屏幕,也可以输出到指定文件中。 语法格式: 参数说明: value:表示要输出的值,可以是数字、字符串、各种类型的变量等。 … :值列表,表示可以一次性打印多个值,输出多个值时,需要使用 \\\",\\\"

    2024年04月28日
    浏览(36)
  • 书生·浦语大模型实战营-第四课笔记

    期待已久的微调课 增量预训练和指令跟随是两种微调模式,即两种微调策略。   1)增量预训练 投喂新的领域知识即可,例如书籍、文章、代码 2)指令跟随 采用高质量对话和问答数据进行训练 两者是微调的方法,即算法。 xtuner是一种微调框架。

    2024年02月21日
    浏览(40)
  • MySQl数据库第四课-------------努力------努力------努力

     欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com ——————————————————————————————————          sudo          whoami          who                  exit                   reboot、shutdown            

    2024年02月13日
    浏览(37)
  • Python print()函数使用详解,Python打印输出

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 print() 可以 「打印输出」 ,常用来将内容 「打印」 到控制台。 语法 参数

    2024年02月11日
    浏览(41)
  • 【区块链学习最全教程】学习 Solidity,全栈 Web3,Javascript 和区块链开发

    Chainlink 开发者社区发布了一个关于全栈 web3,solidity 和区块链开发的完整视频教程。本视频教程由 Chainlink 开发者大使 Patrick Collins 讲解。教程由浅入深讲解了区块链的基础知识,智能合约基础以及流行的开发工具。视频内容覆盖广泛,不论是初学者还是资深工程师,都会从中

    2023年04月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包