Solidity快速入门之函数输出

news2024/9/30 13:19:36

返回值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使用解构式赋值的规则,支持读取函数的全部或部分返回值。
在这里插入图片描述

  • 读取所有返回值:声明变量,并且将要赋值的变量用,隔开,按赋值顺序排列。
  • 读取部分返回值:声明要读取的返回值对应的变量,不读取的留空。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1180944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1560分钟一节课VUE项目从入门到精通

在职场,流传着这样一句话:跳槽加薪是现实,原地加薪是梦想。工作跳一跳,工资翻一番。 事实好像确实如此,相关机构调研发现,跳槽换工作后的平均加薪幅度能达到36%! ▲ 图源网络,如侵删…

nodejs统计文件/文件夹数量

nodejs统计文件/文件夹数量 const fs require(fs); const path require(path);const htmlList []; const cssList []; const jsList []; let fileNum 0 let filesNum 0 function getFiles(dir) {const folders fs.readdirSync(dir);folders.forEach((folderName) >…

卡博替尼Cabozantinib使用说明书、副作用、使用方法、不良反应

(图片来源于网络) 卡博替尼(Cabozantinib)是一种靶向药物,属于多受体酪氨酸激酶抑制剂。它被用于治疗多种癌症,包括进行性、转移性甲状腺髓样癌、晚期肾癌和二线治疗晚期肝癌。卡博替尼可以阻断涉及癌细胞…

基于springboot实现招生平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现招生管理系统演示 摘要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括招生管理系统的网络应用,在外国招生管理系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。招…

一文吃透Redis主从复制的原理

1. 引言 之前我们聊过 Redis 的数据结构底层原理和持久化机制,这期我们来聊 Redis 的高可用主题。 时光穿梭机: Redis持久化都说不明白?那今天先到这吧~Redis数据结构的底层原理 众所周知,一个数据库系统想要实现高可用&#…

GNU链接脚本详解

0. 前言 每一个链接都是由链接脚本控制的,链接脚本是用链接命令语言编写的脚本。链接都会用到一个链接脚本,如果你没有指定自己的脚本,就会使用默认的链接脚本。可以用 "--verbose" 命令行选项显示默认的连接脚本。指定命令行参数…

Unreal Engine 学习笔记 (2)—— 走跑切换

1.创建并编辑混合空间 鼠标右击内容浏览器选中动画选中混合空间1D选择对应的骨骼重命名为1D双击1D的图标,进入混合空间的编辑界面鼠标点开水平坐标标签设置名称为Speed设置最大轴值为600拖放对应动画到采样点中 2.创建动画蓝图 鼠标右击内容浏览器选中动画选中动…

【NLP】特征提取: 广泛指南和 3 个操作教程 [Python、CNN、BERT]

什么是机器学习中的特征提取? 特征提取是数据分析和机器学习中的基本概念,是将原始数据转换为更适合分析或建模的格式过程中的关键步骤。特征,也称为变量或属性,是我们用来进行预测、对对象进行分类或从数据中获取见解的数据点的…

国自然中标越来越难,怎样才能赢在起跑线上?

众所周知,国自然在学术界的地位和影响力不容小觑。“国自然在手,天下我有”,对于科研人来说,成功申报国自然,有助于职称评审、职业升迁,同时,获得不菲的科研经费。据了解,有些高校还…

MCU常见通信总线串讲(一)—— UART和USART

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言一…

第七章 图【数据结构与算法】【精致版】

第七章 图【数据结构与算法】【精致版】 前言版权第七章 图7.1 应用实例7.2图的基本概念7.3图的存储结构7.3.1邻接矩阵**1-邻接矩阵.c****2-邻接矩阵plus.c** 7.3.2 邻接表**3-邻接表.c** **4-邻接表plus.c** 7.3.3 十字链表7.3.4多重链表 7.4图的遍历7.4.1深度优先搜索遍历**5…

每天一点python——day62

为了方便复制,我在下面附带了一个python文件。 C:\Users\Admin>python Python 3.9.13 (main, Aug 25 2022, 23:51:50) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32Warning: This Python interpreter is in a conda environment, but the environmen…

【蓝桥杯选拔赛真题13】C++最短距离 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

C/C++最短距离 第十二届青少组蓝桥杯C++选拔赛真题 一、题目要求 1、编程实现 有一个居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3……,当排满一行时,从下一行相邻的楼往反方向排号。 例如:小区为 3 行 6 列,矩阵排列方式: 要求:已知小区…

python 之列表的常用方法

文章目录 1. **append()** 方法2. **extend()** 方法3. **insert()** 方法4. **pop()** 方法5. **remove()** 方法6. **clear()** 方法7. **index()** 方法8. **count()** 方法9. **reverse()** 方法10. **sort()** 方法 当操作 Python 列表时,常用的方法如下。以下…

Python学习笔记--模块简介

一、Python 模块简介 在开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 后面我们学习了函数,知道函数是实现一项或多项功能的一段程序,这样就更方便我们重复使用代码。 紧接着&…

解析半导体测试系统及半导体的测试方法步骤

半导体如今在集成电路、通信系统、照明等领域被广泛应用,是一种非常重要的材料。在半导体行业中,半导体测试是特别关键的环节,以保证半导体器件及产品符合规定和设计要求,确保其质量和性能。 随着现代电子技术的发展,半…

移远EC600U-CN开发板 day02

1.QuecPythonLVGL显示图片 由于官方提供的显示图片函数使用失败,为了能在屏幕上显示图片,通过对出厂脚本的分析,成功使用LVGL显示图片 (1)代码 import lvgl as lv from tp import gt9xx from machine import LCD from machine import Pin …

别让噪声偷走你的听力

欢声笑语,音乐悠扬,燕语莺声,流水潺潺,和亲友畅所欲言…… 这些愉悦的声音让我们每天的生活更充实,他们也是美好记忆的重要组成部分。听力对于我们的身体健康、情感幸福和整体生活质量起着巨大的作用。 因此保护听力健…

华为fusionInsigtht集群es连接工具

华为fusionInsight为用户提供海量数据的管理及分析功能,快速从结构化和非结构化的海量数据中挖掘您所需要的价值数据。开源组件结构复杂,安装、配置、管理过程费时费力,使用华为FusionInsight Manager将为您提供企业级的集群的统一管理平台,在…

大数据管理平台有什么用?如何利用大数据管理平台优化企业运营?

在数字化时代,大数据管理平台已经成为了企业和组织不可或缺的工具。它不仅可以帮助企业跟踪和解决报修问题,还为数据分析提供了丰富的信息。通过合理利用大数据管理平台进行数据分析,企业可以更好地了解其运营情况,优化设备维修和…