Solidity快速入门之函数输出

6 篇文章 0 订阅
订阅专栏

返回值return和returns

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

  • returns加在函数名后面,用于声明返回的变量类型及变量名;
  • return用于函数主体中,返回想要返回的变量;
    在这里插入图片描述
    上面这段代码里面,我们使用returns声明了多个返回值,接着我们把(1,true,“\u4F60\u597D”)返回了出来;

为什么返回\u4F60\u597D显示的是你好,大家请看下面这篇文章

Solidity函数返回中文

大家可能会好奇为什么string后面要加memory

因为在Solidity中,memory是一种数据位置关键字,用于指定函数参数或返回值的数据存储位置。
在函数定义中,使用memory关键字可以将参数或返回值标记为在函数执行期间使用临时内存来存储数据。这意味着数据将在函数执行结束后被清除,不会保留在区块链上。

在上面的代码例子里面string类型的返回值被标记为memory,表示返回的字符串将在函数执行期间存储在临时内存中。这是因为字符串类型是动态大小的,需要使用内存来存储其内容。

小提示

使用memory关键字标记的参数或返回值只能用于纯函数(pure函数)或视图函数(view函数),因为这些函数不会修改或访问合约的状态。

命名式返回

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

当然我们也可以在命名式返回中用return来返回

在这里插入图片描述

解构式赋值

solidity使用解构式赋值的规则,支持读取函数的全部或部分返回值。
在这里插入图片描述

  • 读取所有返回值:声明变量,并且将要赋值的变量用,隔开,按赋值顺序排列。
  • 读取部分返回值:声明要读取的返回值对应的变量,不读取的留空。
solidity精细化入门 - 字符串类型学习
u010049061的博客
03-25 538
类型在Solidity中是动态大小的,这意味着它们可以存储任意长度的字符串,但这也意味着处理字符串通常比处理固定大小的数据类型更昂贵,特别是在需要存储到Ethereum区块链上时。可以例如,最简单的字符串操作,将 2 个字符串合并,在Solidity 中都没办法直接通过+号合并,甚至你都不能直接获取字符串的长度。通过了解这些基本概念和限制,你可以更有效地在Solidity合约中使用字符串类型。声明和初始化字符串变量的基本语法如下: 基本上和大多数语言一样。类型,或者在合约外部处理字符串逻辑。
Solidity入门-函数初级
01-07
函数在所有的语言中都是一种常见类型。Solidity中的函数关键字是function,我们先来看一个最简单的例子: pragma solidity ^0.4.0; contract SimpleFunc { function hello(uint i){ //todo } } 函数的参数 函数的入参定义与变量类似。我们可以省略未使用到的参数变量名,如下例所示: pragma solidity ^0.4.0; contract Simple { //函数的入参如变量的定义方式 //未使用的参数可以省略变量名 function InputP
Solidity函数里面返回中文报错原因
忆梦九洲的博客
11-06 430
> contracts/text.sol:90:24: | 90 | return (1,true,“你好”);
使用编译器——Solidity中文文档(8)
HiBlock的博客
08-03 615
写在前面:HiBlock区块链社区成立了翻译小组,翻译区块链相关的技术文档及资料,本文为Solidity文档翻译的第八部分《使用编译器》,特发布出来邀请solidity爱好者、开发者做公开的审校,您可以添加微信baobaotalk_com,验证输入“solidity”,然后将您的意见和建议发送给我们,也可以在文末“留言”区留言,有效的建议我们会采纳及合并进下一版本,同时将送一份小礼物给您以示感...
solidity——第四课函数输出
qq_52708261的博客
09-16 1167
solidity——第四课函数输出
solidity学习-如何在智能合约中打印Log日志
Meta_World的博客
05-11 3911
solidity智能合约中打印运行日志的简单办法
solidity入门】4. 函数输出 Return
weixin_44792616的博客
10-20 724
本文为学习WTF学院的学习笔记。 solidity函数输出包括:1. 返回多种变量;2. 命名式返回;3. 利用解构式赋值读取全部或部分返回值
区块链Solidity智能合约语言学习笔记
yueyue763184的博客
09-12 3905
以太坊拥有多种高级语言,可用于编写智能合约,每种语言都受到另一种广泛使用的语言的启发。最流行的一种叫做Solidity,它基于JavaScript。由于Solidity是迄今为止最成熟的以太坊语言,因此它是社区大力鼓励开发人员现在使用的语言。Solidity是一种语法类似JavaScript的高级语言。它被设计成以编译的方式生成以太坊虚拟机代码。使用它很容易创建用于投票、众筹、封闭拍卖、多重签名钱包等等的合约。
solidity 中的时间_智能合约编程语言-solidity快速入门(下)
weixin_28925169的博客
12-30 1858
solidity区块及交易属性在介绍区块及交易属性之前,我们需要先知道solidity中自带了一些全局变量和函数,这些变量和函数可以认为是solidity提供的API,这些 API 主要表现为Solidity 内置的特殊的变量及函数,它们存在于全局命名空间里,主要分为以下几类:有关区块和交易的属性ABI编码函数有关错误处理有关数学及加密功能有关地址和合约我们在编写智能合约的时候就可以通过这些API...
solidity快速入门(扩展篇)
扶风的博客
09-22 642
扩展篇 1.继承、多态、super 与 C3 线性化 solidity支持继承,并且支持多重继承。 下面的代码展示了基本的继承的作用:代码重用。 contract ERC20Token{ string public name; string public symbol; uint256 public decimals; uint256 public totalSupply...
Solidity入门学习笔记2-根据例子学习Solidity-投票
的博客
06-13 340
摘自:https://solidity-cn.readthedocs.io/zh/develop/solidity-by-example.html#voting
Solidity 官方文档中文版(二)
xiatiancc的专栏
12-27 9439
Solidity AssemblySolidity定义了一个汇编语言,可以不同Solidity一起使用。这个汇编语言还可以嵌入到Solidity源码中,以内联汇编的方式使用。下面我们将从内联汇编如何使用着手,介绍其与独立使用的汇编语言的不同,最后再介绍这门汇编语言。文档尚待完善的补充的地方:待补充内联汇编的变量作用域的不同,尤其是使用含internal的函数的库时所引入的复杂度。另外,还需补充,编...
区块链高级开发教程(三)
最新发布
龙哥盟
05-01 1339
本章从介绍以太坊的开发工具开始,如 Remix IDE。然后我们讨论了一些框架,比如 Truffle,还有用于开发和测试的本地区块链解决方案,例如 Ganache、EthereumJS 和 TestRPC。还探讨了其他工具,比如 MetaMask。引入了 Node 的安装,因为大多数工具都是基于 JavaScript 和 Node 的。Oraclize 是一项旨在使智能合约能够从其他区块链和全球网络中获取数据的服务。该服务目前在比特币和以太坊的测试网和主网上已经上线。
Solidity函数返回(returns)多个值及接收方式
程序新视界
02-17 8823
Solidity中一个函数方法是可以返回多个结果的。下面示例中完整的展示了,如何定义多返回值的函数,并且如何获取参数。 pragma solidity ^0.5.10; contract ManyReturns{ // 基础方法:返回多个参数,用于被调用 function getThreeNum() public returns(uint one,uint two, uint...
08.区块链的那些事儿-Solidity类型string(字符串)
第一高度的专栏 - 祝愿大家坚持学习,持续进步,最终实现理想!
03-21 6281
本小节主要讨论Solidity类型中的字符串 string,string 是可变长度的字节数组,本节先对string有个整体的认识,先看一个例子1. string 实例pragma solidity ^0.4.13;contract StringDemo{        string productname;        function StringDemo() public{        ...
Solidity基础入门知识(三)字符串和函数
熙风区块链的博客
02-17 4511
字符串:需要使用双引号“”或者单引号’’括起来,例如:定义一个字符串变量:string  name=“jake”;string字符串不能通过length方法获得长度十六进制数据:以关键字hex打头,后面紧跟用单或双引号包裹的字符串。如hex"001122ff"。通过下面的例子来理解下是什么意思:contract HexLiteral{ function test() returns (st...
strlen函数_PHP常用的内置函数
weixin_39790102的博客
12-06 358
字符串函数strlen:获取字符串长度,字节长度substr_count 某字符串出现的次数substr:字符串截取,获取字符串(按照字节进行截取)mb_strlenmb_substrstrchr:与substr相似,从指定位置截取一直到最后strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符strtolower:所有的字符都小写(针对英文字母)strtoupper:所有的...
solidity字符串拼接
weixin_33730836的博客
04-24 1723
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战开发入门 去中心化电商DApp实战开发 当你开始学习使用solidity开发以太坊智能合约之后,很快你会碰到一个问题: 在solidity中该如何拼接字符串? 可能你已经试过了,下面的代码试图把两个字符串使用相加的运算符连接起来,但是这行不通: var str = 'asdf' var b...
写文章

热门文章

  • JAVA实习生究竟每天都在干什么? 3025
  • 数据结构之str类 2510
  • 我们妄想吃掉太阳_(小白的开始) 2281
  • 一觉醒来多了无数个对象,秒走人生巅峰?(java面向对象思想) 1968
  • jsp如何判断session中是否有值? 1921

分类专栏

  • 用Python与Java开启算法的神奇之旅 34篇
  • 数学 27篇
  • 微服务框架讲解 5篇
  • Python 12篇
  • 区块链 8篇
  • Solidity 6篇
  • java 10篇
  • SSM与SpringBoot框架 6篇
  • 剑指牛客 1篇
  • c 1篇
  • 项目 2篇
  • 小知识 5篇
  • Layui 2篇
  • 实习随记 2篇
  • bug 13篇
  • 面试题 2篇
  • 程序人生 3篇
  • Winform窗体应用 1篇

最新评论

  • 设置区块链节点输出等级为警告级,并把日志存储阈值位100MB并验证;

    英麻: 搜嘎搜嘎,拨云见日醍醐灌顶啊,谢谢大佬

  • 设置区块链节点输出等级为警告级,并把日志存储阈值位100MB并验证;

    忆梦九洲: warning在log4j这个日志框架里面不存在

  • 设置区块链节点输出等级为警告级,并把日志存储阈值位100MB并验证;

    忆梦九洲: 这个我上面回答的有问题,不是版本的原因,昨天看了一眼,以为是版本原因,实际原因是它使用 log4j 作为其日志框架。在日志框架中,日志级别通常包括 TRACE, DEBUG, INFO, WARN, ERROR, FATAL等,而在 log4j 中,正确的日志级别是 WARN 而不是 warning。所以它会报错

  • 设置区块链节点输出等级为警告级,并把日志存储阈值位100MB并验证;

    英麻: 当然知道是一个意思,我是问官网对应版本是warning。写成官网这种就会报错

  • 设置区块链节点输出等级为警告级,并把日志存储阈值位100MB并验证;

    忆梦九洲: 因为版本的问题,这两个是一个意思

大家在看

  • 快速安装mysql
  • HarmonyOs DevEco Studio小技巧21 --Date类的用法 365
  • Java 速刷复习用极简小抄 P1 - Java 概念
  • 6.数据库-数据库设计
  • 初识扫雷! 953

最新文章

  • SpringBoot使用Jedis步骤
  • 数字的魅力之卓绝罕有的完美数
  • 极限与无穷之1.2的平方根约为1.414 213 56
2024
03月 1篇
02月 26篇
01月 44篇
2023年23篇
2022年4篇
2021年20篇
2020年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忆梦九洲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家银川景区玻璃钢雕塑定做四川抽象玻璃钢雕塑优势金昌人物玻璃钢雕塑定做玻璃钢雕塑与生活扬州玻璃钢卡通雕塑优惠上海商场dp美陈雕塑广东玻璃钢花盆报价吉林省商场美陈吉林省玻璃钢雕塑厂商定制攀枝花玻璃钢花盆花器河北佛像玻璃钢雕塑销售电话湖南仿铜玻璃钢雕塑公司四川公园玻璃钢雕塑优势宁波玻璃钢雕塑免费咨询西山区玻璃钢雕塑加工厂家宣城公园玻璃钢雕塑施工安装镇江园林玻璃钢雕塑定做商场秋收季美陈玻璃钢五彩灯光雕塑泉州园林玻璃钢雕塑热线徐州玻璃钢雕塑商家玻璃钢动物马雕塑方案玻璃钢人物雕塑面部空青岛胶州玻璃钢雕塑商场美陈的制作流程玻璃钢雕塑工艺品生产厂耒阳玻璃钢伟人像雕塑恩施玻璃钢花盆厂家河南节庆商场美陈生产厂家商场七夕dp点美陈香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化