Solidity函数view,pure,constant的用法
函数访问权限:public,external,private,internal
//子类可以得到父类下面的方法,父类用了public,external的话
pragma solidity ^0.5.;
contract Animal{
function tets1() pure public returns(uint){
//如果是public的话,外部是可以访问的,external外部也是可以访问的,private,interna只能是内部访问
return ;
}
}
contract Cat is Animal{
}
//internal,private是只鞥是自己的内部使用,子合约是不能继承他的
//exteral,public子合约是可以继承的
constant:
如果加了constant的话,就不用调用call方法来获取值,比如在终端的时候不用调用这个call方法,直接可以打印出来了,可以返回变量的值
uint public n=100;
function speed() constant returns(uint){
return n;
}
public:
说明是外部的话就可以调用的,在合约里面是可以调用这个值的string name ,string public name,后者在合约里面是有显示的
view:
既没有返回什么状态变量的值,也没有什么存粹的值的话(return 10,'hello'这些的)
比如返回return msg.render就可以使用view
pure:
就是很纯粹的意思,就是具体返回什么值回来,不是变量
如果下面是return p(带有状态变量的值)的话,不能用这个pure,得用constant,如果是return 12具体的某个数值的话,就可以用pure
pragma solidity ^0.5.;
contract test{
//属性
uint p;
address _owner;
//构造函数
function car() public{
p=;
_owner=msg.sender;
}
//public的话可以外部调用
function get() public returns(uint){
return p;
}
//view,当不返回存粹的值或者是变量的时候,比如msg.sender使用
function get1() view public returns(address){
return msg.sender
}
//pure,返回存粹的值使用,123,'hello'
function get2() pure public returns(uint){
return
}
//返回带有状态变量的值,_owner
function get3() constant public returns(address){
return _owner
}
}
Solidity函数view,pure,constant的用法的更多相关文章
- Solidity constant view pure关键字的区别与联系
在Solidity中constant.view.pure三个函数修饰词的作用是告诉编译器,函数不改变/不读取状态变量,这样函数执行就可以不消耗gas了(是完全不消耗!),因为不需要矿工来验证.所以用好 ...
- Django-视图函数view
目录 1.Django的视图函数view 1.1一个简单的视图 2.CBV和FBV 3.使用Mixin(了解) 4.给视图加装饰器 4.1使用装饰器装饰FBV 4.2使用装饰器装饰CBV 5.requ ...
- Android View.setId(int id) 用法
Android View.setId(int id) 用法 当要在代码中动态的添加View并且为其设置id时,如果直接用一个int值时,Studio会警告. 经过查询,动态设置id的方法有两种; 1. ...
- 转: ES6异步编程: co函数库的含义与用法
转: ES6异步编程: co函数库的含义与用法 co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行. 比如,有一个 Ge ...
- Function Programming - 纯函数(Pure Function)
纯函数的定义,非常重要!! Pure function 意指相同的输入,永远会得到相同的输出,而且没有任何显著的副作用. 老样子,我们还是从最简单的栗子开始: var minimum = 21; va ...
- Python3 join函数和os.path.join用法
Python3 join函数和os.path.join用法 os.path.join()连接两个文件名地址的时候,就比os.path.join("D:\","test. ...
- 动手实现 Redux(三):纯函数(Pure Function)简介
我们接下来会继续优化我们的 createStore 的模式,让它使我们的应用程序获得更好的性能. 但在开始之前,我们先用一节的课程来介绍一下一个函数式编程里面非常重要的概念 —— 纯函数(Pure F ...
- 数据仓库之抽取数据:openrowset函数带bulk操作符的用法
原文:数据仓库之抽取数据:openrowset函数带bulk操作符的用法 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区 ...
- Python函数装饰器原理与用法详解《摘》
本文实例讲述了Python函数装饰器原理与用法.分享给大家供大家参考,具体如下: 装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值 ...
随机推荐
- Jquery触发Change事件
Jquery直接使用val的话不会触发Change事件需要做如下处理$("#"+p_id).val(p_time); $("#"+p_id).change();
- Burp Suite Intruder中爆破模式介绍
Burp Suite Intruder中爆破模式介绍 - Introduction to Burst Mode in Burp Suite Intruder 1.sniper模式 使用单一的Payl ...
- JavaScript之正则表达式[应用实例]
1. 获取信息 "水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周} ...
- netty 在线教程
https://blog.csdn.net/qq_33314107/article/details/81321438 https://www.cnblogs.com/myJavaEE/p/679333 ...
- jquery禁用a标签
jquery禁用a标签方法1 01 02 03 04 05 06 07 08 09 10 11 12 $(document).ready(function () { $("a ...
- SpringBoot整合全局异常处理&SpringBoot整合定时任务Task&SpringBoot整合异步任务
============整合全局异常=========== 1.整合web访问的全局异常 如果不做全局异常处理直接访问如果报错,页面会报错500错误,对于界面的显示非常不友好,因此需要做处理. 全局异 ...
- Invalid character found in the request target.
背景:springboot项目内置tomcat9.0 调用的接口中有{}就会报错 解决办法: 新的tomcat新版本增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 398 ...
- linux查看日志
若想在linux下查询某个时间段的log,用sed命令示例如下: $ sed -n '/2017-11-11 11:00:00/,/2017-11-11 11:11:11/p' error.log ...
- [转] 深入理解Batch Normalization批标准化
转自:https://www.cnblogs.com/guoyaohua/p/8724433.html 郭耀华's Blog 欲穷千里目,更上一层楼项目主页:https://github.com/gu ...
- WC2019 20天训练
Day -1 2019.1.2 初步计划: 0x60 图论 std 洛谷提高剩余练习 NOIP2018遗留题解 洛谷省选基础练习 数学: 1.数论 2.组合数学(练习:莫比乌斯反演) 3.概率(练习: ...