Solidity——view和pure修饰符

本文介绍了Solidity编程语言中的view和pure函数修饰符,view用于只读查询,不修改状态且无Gas消耗,pure则表示纯计算,不读取状态。在ViewPureTest合约中,getValue函数使用view,add函数使用pure作为示例。
摘要由CSDN通过智能技术生成

一、概念

在Solidity中,viewpure是两个函数修饰符,用于标识函数的特性和行为。

viewview修饰符用于表示函数仅读取合约状态,不会修改任何状态变量。它是一种只读函数,用于提供数据查询和计算服务。view函数不会消耗任何Gas(燃料)并且不会修改区块链状态。它们只能调用其他viewpure函数,而不能调用普通函数。

purepure修饰符表示函数既不会读取合约状态,也不会修改任何状态变量。它仅执行纯计算操作,并返回计算结果。pure函数与view函数相似,但更严格,不能读取合约状态或调用其他非纯函数。

 二、应用

contract ViewPureTest {
    uint256 public myVariable;

    ///view:view修饰符用于表示函数仅读取合约状态,不会修改任何状态变量。它是一种只读函数,用于提供数据查询和计算服务。
    ///view函数不会消耗任何Gas(燃料)并且不会修改区块链状态。它们只能调用其他view或pure函数,而不能调用普通函数。
    function getValue() public view returns (uint256) {
        //uint256 i = 1;//函数内部变量不能使用访问修饰语,同时内部变量默认状态为memory
        return myVariable;
    }

    ///pure:pure修饰符表示函数既不会读取合约状态,也不会修改任何状态变量。
    ///它仅执行纯计算操作,并返回计算结果。pure函数与view函数相似,但更严格,不能读取合约状态或调用其他非纯函数。
    function add(uint256 a, uint256 b) public pure returns (uint256) {
        return a + b;
    }

}

在上述示例中,getValue函数使用了view修饰符,因为它仅返回合约中的一个状态变量,并不修改任何状态;add函数用了pure修饰符,因为它仅执行两个数相加的计算操作,并不读取和修改合约状态变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tomggo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值