zoukankan      html  css  js  c++  java
  • solidity学习(二)

    pragma solidity ^0.4.0;
    //版本号,预编译,^是向上兼容版本(0.4~0.5)
    
    //建立对象  contract是建立的对象-是合约  HelloWorld是合约的名字
    contract HelloWorld{
        //给对象加入状态,面向对象编程嘛,这里是string
        string Myname = "xixi-Teamon";
        
        //写一个方法,获取对象的所有行为
        function getName() public view returns(string)
        //这里的public是权限,所有人都可写入。
        //view不会修改区块链上的变量、代码,但是可以读取变量,节约了gas
        {
            
            return Myname;
            
        }
       
       function changeName(string _newName) public
       //string后面有空格,加的变量要上下一致
       //点击changeName以后,就会消耗gas.上面有view,所以多次点击getname这个函数不消耗gas.
       {
           
           Myname = _newName;
       }
       
       function pureTest(string _name) pure public returns(string){
           
        //pure是固定的输入输出,但是pure后面记得加返回值,返回到_name中
        //pure函数不消耗gas
           return _name;
       }
        
    }

    这里定义了三个function:getName、changeName、pureTest三个函数,主要作用是看deploy一次以后多次点击,是否还会有油耗。

    • getName后面有view,不修改区块链上的东西。单点不消耗gas

     

    太惨了。。。代码能力为0,,还得从hello world学起。。。。丢脸嘤嘤嘤。。。

     ----------------------------------------------------------------------------------------------------

    Boolean判断:

    pragma solidity ^0.4.0;
    
    contract BooleanTeat{
        
        bool _a;
        //returns后面要加上bool
        int num1 = 100;
        int num2 = 200;
        
        //第一个功能:简单输出bool状态
        function getBool() returns(bool){
            return _a;
            //默认情况下,没有具体值,返回的bool类型都是false;
        }
        
        
        //第二个功能:同第一
        function getBool2() returns(bool){
            
            return !_a;
            //反转:真变假,假变真。
        }
        
        
        //第三个功能:进行对比、判断
        function panduan() returns(bool){
            return num1==num2;
            //只输出真和假,这里num1不等于num2,所以输出的是false。
        }
        function panduan2() returns(bool){
            return num1 != num2;
        }
        
        //与或非
        //&&:两个相等才为真   ||:一个为真则为真
        function yu() returns(bool){
            return (num1==num2) && true;
        }
        function yu2() returns(bool){
            return (num1!=num2) && true;
        }
        function yu3() returns(bool){
            return (num1==num2) || true;
        }
        function yu4() returns(bool){
            return (num1==num2) || false;
        }
        
    }
    珍惜时间,只错一次
  • 相关阅读:
    ASP.NET教程4
    ASP.NET教程11
    TreeView Demo
    System.Net.Dns.GetHostByAddress(string) 已经过时
    会员注册实例
    ASP.NET教程2
    多表关联与表值函数
    ASP.NET教程6
    BusinessFrameWork
    ASP.NET教程8
  • 原文地址:https://www.cnblogs.com/TEAM0N/p/14950380.html
Copyright © 2011-2022 走看看