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.在函数内,无法读写状态变量--
    }
  • 相关阅读:
    前端学习之JavaScript
    前端学习之CSS
    前端学习之HTML
    MySQL多表查询(重要)
    C# 基本语法
    第 9 章 —— 原型模式
    第 7 章 —— 代理模式
    第 6 章 —— 装饰模式
    将搜索关键词加红
    SQL Server 创建触发器(trigger)
  • 原文地址:https://www.cnblogs.com/eilinge/p/9965194.html
Copyright © 2011-2022 走看看