最新要闻
- 每日时讯!酷安最火骁龙8系手机诞生!一加11酷安热度第一
- 时隔两年 国美真快乐App重新更名国美
- 焦点要闻:加油被惊喜到!一加11不杀后台:前一天打开的APP第二天还在
- 温子仁恐怖片新作《梅根》 拯救了北美院线一月票房
- 天天热点评!被假货逼疯的劳力士:终于坐不住了
- 全球快资讯:要的就是销量!特斯拉在新加坡优惠近7万
- 全球新资讯:豆瓣9.5高分动画!有家长炮轰《中国奇谭》画风吓哭孩子 网友不乐意了
- 加了国六B汽油 排气管喷水?网友犀利吐槽:我加了拉肚子
- 热讯:峰米S5 Rolling投影仪发布:360度可旋转支架 还能当音箱用
- 世界热推荐:米哈游创始人之一参与打造:国产独立游戏《微光之镜》今日发售
- 即时看!奥迪RS e-tron GT很好 但它仍是大众体系里最拧巴的产品
- 当前讯息:菜鸟将投2亿:补贴快递员爬楼送货上门
- 天天快看:iOS 16卡壳了
- 世界热推荐:OLED+彩色水墨翻转双屏!联想公布ThinkBook Plus Twist笔记本
- 天天微速讯:雷军爆料了!新机皇小米13 Ultra或将于MWC发布:影像堆料突破天际
- 焦点速看:因易增加儿童哮喘几率:美国或将禁止使用燃气灶
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
焦点速读:区块链特辑——solidity语言基础(二)
Solidity语法基础学习
四、函数类型:
函数
Function
function FnName [V] [SM] [return (……)] {}
·[V]:Visibility,可见性;
·[SM]:State Mutability,状态可变性;
(资料图片仅供参考)
·[returns (types……)]:回传值
·若无回传值可以省略;
·可回传一个或多个回传值。
·returns ( int , string memory )
代码示例:
可见性 visibility
public,private,internal,external
·public → 任何合约或者账户都可以呼叫
·private → 只有目前合约可以呼叫
·external → 除了目前合约与其继承合约外可以呼叫
·internal → 只有目前合约与其继承合约可以呼叫
状态可变性 State Mutability
pure,view
·pure → 该函数不会“读取”或“写入”任何状态
·view → 该函数只“读取”状态,比如:
·读取storage变量
·读取任何合约的余额
·读取以下全域变量的任何成员函数block,tx,msg(除了msg.sig与msg.data外)
·呼叫任何不被标记为pure的函数
·直接使用特定的组合语言指令
状态可变性 State Mutability
pure,view
·以下行为视为写入状态:
·写入资料到storage变量
·发出事件(emit log)
·建立其他合约
·呼叫特殊指令 selfdestruct
·通过call来发送Ether
·呼叫任何不被标记为pure或view的函数
·使用low-level calls
·使用特定组合语言指令
构造函数 Constructor
Constructor () {}
·构造函数是可选用的,若合约没有特别定义,则等价于:constructor(){}
·无回传值
·可以有传入参数,定义和普通函数相同
·构建函数只会在合约部署的那一刻被呼叫
·用来改变“变数的预设值”
·所有storage变量在呼叫constructor之前已经被初始化
·当构造函数被执行之后
·合约的最终程式码会被部署到区块链上
·可以理解成“部署”的回传值为“合约的最终程式码”
·最终程式码的长度也会影响燃料使用量,越走越贵
·最终程式码不包含构建函数,与仅构建函数所使用之“内部函数(Internal Functions)”
代码示例:
·本题在运行时有两种合约选择,第一个是合约A,第二个为合约B。
·合约A是没有构建函数的赋值合约
·合约B是有构建函数的整数赋值合约,不同于A合约,B合约能够在运行后再输入数值和字符串。
接收 Ether
receive() external payable{……}
·一个合约内只能有“唯一一个receive函数”
·这个特殊函数有特定形态:
·不需要‘function’这个关键字
·不允许回传任何回传值
·必须有‘external’与‘payable’
·receive函数会在发送一个“无calldata的交易”到合约中被触发。
特殊限制
· 当发送者使用‘send’或‘transfer’直接发送Ether过来时,receive函数可能只允许使用“2300”燃料(Gas)。
·如果在receive函数中多了以下行为,将可能消耗更多的燃料,将导致交易失败:
·写入存储空间(storage)
·建立新合约
·呼叫一个会消耗大量燃料的外部函数(External Function)
·发送Ether(因为至少会消耗另外2300燃料)
例子:
·建立一个合约PiggyBank
·部署时就能收Ether
·部署后也能够接收Ether
位址型态的成员函数 Member function of AddressType non-payable系列成员
·balance → uint256:回传该地址的余额(单位为wei)
·code → bytes memory:回传该地址的代码(可能为空)
·codehash → bytes32:回传该位址代码的杂凑值
·low-level call 系列:
·call
·delegatecall
·staticcall
payable 系列成员
·addr.transfer(uint256 amount)
·转amount WEI 从当前账户到addr
·只允许使用2300燃料
·失败时会触发revert → 整笔交易都取消,回到交易前
·addr.send(uint256 amount)→bool
·转amount WEI 从当前账户到addr
·只允许使用2300燃料
·失败时回传false
·建议使用‘send’
全域变量 Global Variables
msg.sender
·msg.sender → address
·取得当前call的发送者
当前合约 this
this
·this代指当前的合约
·address(this)可以建立一个address指向当前的合约
·便可以使用address拥有的成员函数
·如:address(this).balance()便能取得目前合约的余额
代码示例:
可以改变函数的行为
modifier MF(……){……}
·关键字:modifier
·宣告一个修饰函数,跟宣告函数很像
·允许有输入参数,写在()内
·modifier M(int X){/*对x做事情*/}
·{}就是跟函数本身一样,为各种东西
·_;
·这个是特殊的表示法,代表原本函数的本身
Modifier代码示例:
modifier M(){
//做一些事情
_;
//可以继续做一些事情
}
function F() public M{……}
错误处理函数 Error Handler Function
require(条件,“错误原因”);
·当条件为true时,不会发生事情
·反之,会触发revert(“错误原因”,将交易驳回报错原因)
代码示例:
-
焦点速读:区块链特辑——solidity语言基础(二)
Solidity语法基础学习四、函数类型:函数FunctionfunctionFnName[V][SM][return(……)]{}& 183;[V]:Visibility,可见
来源: 焦点速读:区块链特辑——solidity语言基础(二)
每日时讯!酷安最火骁龙8系手机诞生!一加11酷安热度第一
时隔两年 国美真快乐App重新更名国美
快看点丨大前端html学习06-宽高自适应
天天观察:SpringDataJPA 程序未配置乐观锁的情况下,报了乐观锁异常
Redis的客户端
每日时讯!关于19c RU补丁报错问题的分析处理
环球简讯:记录使用adb连接rn项目进行开发
焦点要闻:加油被惊喜到!一加11不杀后台:前一天打开的APP第二天还在
最新快讯!Python中高阶函数与装饰器教程
【新要闻】Python中的异常处理总结
flutter 效果实现 —— 全面屏效果
Mysql中的锁:表、MDL、意向锁、行锁
温子仁恐怖片新作《梅根》 拯救了北美院线一月票房
天天热点评!被假货逼疯的劳力士:终于坐不住了
全球快资讯:要的就是销量!特斯拉在新加坡优惠近7万
全球新资讯:豆瓣9.5高分动画!有家长炮轰《中国奇谭》画风吓哭孩子 网友不乐意了
全球今日报丨【首页】热销爆品开发修改商品值
加了国六B汽油 排气管喷水?网友犀利吐槽:我加了拉肚子
热讯:峰米S5 Rolling投影仪发布:360度可旋转支架 还能当音箱用
世界热推荐:米哈游创始人之一参与打造:国产独立游戏《微光之镜》今日发售
即时看!奥迪RS e-tron GT很好 但它仍是大众体系里最拧巴的产品
当前讯息:菜鸟将投2亿:补贴快递员爬楼送货上门
天天快看:iOS 16卡壳了
世界热推荐:OLED+彩色水墨翻转双屏!联想公布ThinkBook Plus Twist笔记本
天天微速讯:雷军爆料了!新机皇小米13 Ultra或将于MWC发布:影像堆料突破天际
焦点速看:因易增加儿童哮喘几率:美国或将禁止使用燃气灶
【环球播资讯】曾狠坑过乐视!中电熊猫被拉横幅维权:“还我血汗钱”
快消息!事件处理_2事件修饰符
flutter 基础 —— 事件监听
环球热门:JavaScript 将base64 转换为File
当前信息:129元 荣耀智能体脂秤3开售:Wi-Fi、蓝牙双连接
买699元手机送99元耳机!Redmi 12C价格跟米粉交个朋友
今晚20点抢京东大额红包 天猫年货节红包最后一天
每日动态!没了量子力学 你连手机都玩不了
焦点热讯:9.78万起 飞度堂弟新款东风本田来福酱上市:动力被砍、油耗不变
热门看点:Bonitasoft认证绕过和RCE漏洞分析及复现(CVE-2022-25237)
【世界快播报】操作系统 — 精髓与设计原理(第二章 操作系统概述)
速看:2023年手机还能怎样进化?三点方向
全球热议:干不过BBA!广汽讴歌退出中国市场:车型少 价格高
俄罗斯影院播放盗版《阿凡达2》:还是合法的!西方干瞪眼
【环球新视野】巴黎圣母院确认2024年重开!《刺客信条》花费2年还原
今日关注:接盘国服暴雪玩家!网易《无尽战区》明天开服 配置要求公布
每日热门:部分聚类算法简介及优缺点分析
时讯:记录--JS-SDK页面打开提示realAuthUrl错误
最新:5. 使用互斥量保护共享数据
环球新消息丨【Python爬虫实战项目】Python爬虫批量下载相亲网站数据并保存本地(附源码)
天天快看:什么是堆叠面积图?
热点在线丨老车主维权、新客户下单!特斯拉大降价后3天获3万辆订单
每日快讯!李斌:我们从来不把自己称作豪华品牌
当前观察:百度CreateAI开发者大会:李彦宏称2027前一线城市不再需要限购限行
当前热文:炒币亏了3个亿的美图满血复活了:全体员工发股票 搬入新大楼
过年微醺 RIO鸡尾酒大促!56元到手10瓶
软件开发入门教程网之MySQL NULL 值处理
环球关注:【首页】商品列表和单个商品组件封装
焦点报道:曝iPhone 15开始试产:采用国产灵动岛屏 京东方供货
天天看热讯:李想:理想L7小订最大用户群来自特斯拉车主
中国新能源汽车补贴13年:投入超1500亿元 覆盖317万辆车
13种Shell逻辑与算术,能写出5种算你赢!
提升代码可读性,减少if-else的几个小技巧
天天快看:携程梁建章建议:取消中考 缩短中小学学制 提前2年上班
时代变了!日系豪华败走中国:停产停售、官网504、全面退场
焦点速看:DOS初识
【天天播资讯】《春晚》收视率史低 2023年很多节目真实生活取材 这次必看
全球报道:干掉致命疾病!全球首款蜜蜂疫苗获批
转子发动机回归!马自达官宣:增程式版MX-30本月发布
环球速读:解决安卓四大不可能 李杰:一加11 16GB流畅用四年
环球快资讯:再也不怕侧方停车!现代展示e-Corner系统:还能“坦克掉头”
ElasticSearch必知必会-基础篇
环球快报:火山引擎 DataLeap 通过中国信通院测评,数据管理能力获官方认可!
全球速递!开源动物行为分析实验箱(斯金纳箱)需求调研分析
世界看点:低代码开发:释放数字化生产力
文件IO操作开发笔记(二):使用Cpp的ofstream对磁盘文件存储进行性能测试以及测试工具
百事通!成了!微信:视频号用户总使用时长接近朋友圈80%
天天要闻:开袋即食 一口弹牙 大牌优形肉肠0.99元/根(商超2.5元)
快资讯:期待!《生化危机4:重制版》威斯克或将登场
特斯拉门店:降价维权后销量翻倍!全国一天提车量超1万台
2023支付宝集五福最全攻略 神秘玩法千万别错过
琥珀银杏果是什么东西?琥珀银杏果是什么地方的菜?
兵长一米六是什么意思?兵长一米六顺口溜
美髯公指的是谁?美髯公是什么意思?
金坷垃是什么意思?金坷垃是什么时候的梗?
肥皂水是碱性还是酸性?肥皂水的主要化学成分是什么?
主角叫萧破天的小说有哪些?主角叫萧破天的全部小说
转世仁波切是什么意思?转世仁波切怎么认证?
电信拨打长途前面加什么?电信拨打长途要钱吗?
今日最新!金子塔图,自定义图表,伪漏斗图
环球今日报丨Codeforces 1704 F Colouring Game 题解 (结论,SG函数)
dnf武极觉醒技能怎么点?DNF武极觉醒技能介绍
倒角外倒角内倒角怎么区分?倒角外倒角内倒角的区别有哪些?
申怡走进云南白沙湾小学开讲公益语文课 用语文点亮希望的灯火
【新视野】专心打造小米汽车!雷军已卸任多家小米旗下公司职务
天天新资讯:《中国奇谭》爆火出圈!淘宝周边已卖断货 网友建议快出小野猪毛刷
世界速看:特斯拉二把手上位之路:朱晓彤如何打动马斯克?
环球资讯:比特斯拉多卖40万辆 比亚迪提前锁定2022年全球新能源销冠
【环球热闻】日志瘦身骚操作:从 5G 优化到 1G。
重磅发布丨从云原生到 Serverless,先行一步看见更大的技术想象力
世界简讯:rsync使用技巧
最新快讯!美国要给飞机安装5G信号屏蔽仪:避免影响航空安全
足坛再无“大圣” 33岁老将贝尔宣布退役