zoukankan      html  css  js  c++  java
  • ethereum(以太坊)(十)--函数修饰符

    pragma solidity ^0.4.0;
    
    contract modifierTest{
        uint public v1;
        uint constant v2 =10;
        //uint constant v3; Uninitialized "constant" variable
        
        string public v4='test1';
        string constant v5='test2';
        //string constant v6;Uninitialized "constant" variable
        
        function f() public{
            v1 = 10;
            //v2 = 20;Cannot assign to a constant variable
            
            v4 = 'vtesst';
            //v5 = 'vtest2';Cannot assign to a constant variable
        }
        
        struct test{
            string name;
            uint _sex;
        }
        
        //test constant test1; constant 仅可以修饰值类型,无法修饰引用类型(string除外)
        function set() constant public{ //被修饰的函数内,状态变量无法被改变
            v1 =100;
        }
        
        //告诉编译器,函数不改变/不读取状态变量,这样函数执行就可以不消耗gas了,因为不需要矿工来验证
        
        // 1.view 仅可以修饰函数
        // 2.在该函数内,仅可以对storage类型的变量进行读取,无法修改
        
        address owner;
        function setview(address add) view public { 
            owner =  add;
        }
        
        function getadd()returns(address){
            return owner;
        }
    
        
        // 1.pure 仅可以修饰函数
        // 2.在函数内,无法读写状态变量--
    }
  • 相关阅读:
    NFS 服务器实验
    ssh服务实验
    dhcp服务实验
    邮件服务器
    搭建 DNS 服务器
    搭建 web 服务器
    Feign下的数据传递
    基于Spring Cloud Feign的Mock工具
    Git 使用注意事项
    基于redisson的延迟队列
  • 原文地址:https://www.cnblogs.com/eilinge/p/9965194.html
Copyright © 2011-2022 走看看