`

pure(纯)函数

 
阅读更多
Pure(纯)函数不读取或修改状态。如果函数中存在以下语句,则被视为读取状态,编译器将抛出警告。

读取状态变量。
访问 address(this).balance 或 <address>.balance
访问任何区块、交易、msg等特殊变量(msg.sig 与 msg.data 允许读取)。
调用任何不是纯函数的函数。
使用包含特定操作码的内联程序集。
如果发生错误,纯函数可以使用revert()和require()函数来还原潜在的状态更改。

声明纯函数,可以在函数声明里,添加pure关键字。

pragma solidity ^0.5.0;

contract Test {
   function getResult() public pure returns(uint product, uint sum){
      uint a = 1; 
      uint b = 2;
      product = a * b;
      sum = a + b; 
   }
分享到:
评论

相关推荐

    论文研究 - 一阶导数具有有限多个零的先验亚纯函数

    本篇论文的研究主题围绕亚纯函数的导数零点分布以及函数自身的性质展开讨论,特别关注了一类特殊的亚纯函数,即它们的一阶导数只具有有限多个零点的情况。亚纯函数是指在复数域中除了可能有一个或多个孤立奇点外,...

    JavaScript函数式编程.pdf

    函数式编程强调纯函数(pure functions)和不可变性(immutability),纯函数指的是相同的输入总是产生相同的输出,并且不产生任何可观察的副作用。 2. 高阶函数(Higher-order functions) JavaScript支持高阶...

    JavaScript函数式编程(Functional Programming)纯函数用法分析

    函数式编程鼓励我们多创建纯函数(pure functions),纯函数只依赖你交给它的东西,不使用任何函数以外的东西,也不会影响到函数以外的东西。跟纯函数对应的就是不纯函数(impure functions),也就是不纯函数可能会...

    pure-restify:用于 restify 的纯函数式路由

    Pure restify 允许你把它变成一个纯函数 var respond = pure ( function ( req ) { return { body : "hello, " + req . params . name } ;} ) ; 通过将这个函数包装在 pure 中,我们可以简单地返回我们想要响应的...

    JS 函数式编程指南 PDF

    函数式编程具有不可变性(immutability)、纯函数(pure functions)和无副作用(side effect free)等特点。 在JavaScript环境中,函数式编程有着天然的优势。作为一门灵活的、多范式语言,JavaScript允许开发者在...

    纯虚拟函数

    而纯虚拟函数(pure virtual function)则更进一步,它将函数声明为必须在派生类中被重写,否则包含该纯虚拟函数的类将成为抽象类。 首先,我们要理解什么是抽象类。抽象类是一种不能直接实例化的类,因为它至少...

    pure, `pure` ZSH提示输入的端口.zip

    纯`pure` ZSH提示是开源社区中一个受欢迎的项目,它旨在提供一种简洁、高效的命令行提示方式,尤其在ZSH(Z Shell)环境下。`pure` 主题以其轻量级、快速和美观的特性,深受开发者喜爱,它模仿了Fish shell的提示...

    JS 函数式编程指南

    纯函数是指给定相同的输入,始终返回相同输出,并且不产生任何副作用的函数。纯函数是函数式编程的核心,它们易于理解,易于测试,且易于并行执行。 6. 柯里化(Currying): 柯里化是将接受多个参数的函数转换为一...

    pure:使用纯函数式的、不可变的数据结构

    纯数据结构这是一个纯函数、不可变数据结构的实验。 我想探索在 JavaScript 中应用函数式编程和不变性模式的方法,因为这是我在日常工作中使用的语言。 我的计划是选择一系列数据结构,并从 Okasaki “Purely ...

    函数编程入门 及原理讲解

    2. **纯函数(Pure Functions)**:纯函数是指在相同输入下总是产生相同输出,并且没有副作用的函数。这意味着函数的执行不会影响外部状态,仅依赖于其输入参数。 3. **递归(Recursion)**:由于避免了循环结构,...

    js代码-是否纯函数(Lao)

    在JavaScript编程中,纯函数(Pure Function)是一个重要的概念,它对理解函数式编程和编写可维护、可预测的代码至关重要。本项目“js代码-是否纯函数(Lao)”似乎是一个探讨如何判断JavaScript函数是否为纯函数的...

    基于Matlab实现纯跟踪(Pure Pursuit)算法.zip

    纯跟踪(Pure Pursuit)算法是一种简单而有效的路径跟踪策略,常用于自动驾驶、机器人导航以及无人机飞行控制等领域。在MATLAB环境中实现纯跟踪算法,可以帮助我们理解和应用这种算法,同时利用MATLAB的强大计算能力...

    purejs:用于构造函数、mixin 和类型测试的纯 JavaScript API

    概述Pure.js 是一种 API,可帮助创建构造函数并管理其原型链。 Pure.js 坚持 JavaScript 的原型性质,没有引入新的想法,允许与内置构造函数更好地集成。安装 npm install purejs或者使用凉亭 bower install purejs...

    sanity_check_pure_c.rar_PURE

    这意味着纯函数的多次调用将始终返回相同的结果,不会改变程序的状态。 描述中的 "ideally this should somehow check that we don't have libstdc++ return 0" 提到了对libstdc++库的检查,libstdc++是GNU C++标准...

    pureMVC_AS3

    **纯MVC(PureMVC)AS3版详解** PureMVC是一款轻量级的框架,主要用于实现Model-View-Controller(MVC)设计模式。它最初由Dan Varga创建,旨在提供一种跨平台的解决方案,使开发人员能够更有效地组织和管理应用...

    pureHaxe:帮助您在Haxe中编写严格的纯函数

    将@pure或@p meta标记放在纯函数之前,例如 @ pure function doSomething ( a : Float , b : Float ) { ... } 那应该怎么办 每个纯函数将: 使函数静态和公共 返回最后一个表达式,并且不允许您使用return关键字 ...

    pureMVC中英文版API附带一个简单例子

    **纯MVC(PureMVC)框架详解** PureMVC是一个轻量级的、跨平台的Model-View-Controller框架,适用于多种编程语言,包括ActionScript、JavaScript、C#、Java等。它提供了一个标准的架构,使得开发者可以更有效地组织...

    Matlab实现纯跟踪(Pure Pursuit)算法(完整源码).zip

    纯跟踪(Pure Pursuit)算法是一种广泛应用于自动驾驶、机器人路径规划和车辆控制领域的经典路径跟随算法。Matlab作为强大的数学和工程计算工具,是实现这种算法的理想选择。本项目提供了完整的纯跟踪算法Matlab源码...

Global site tag (gtag.js) - Google Analytics