solidity基础语法

Posted 泠泠在路上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solidity基础语法相关的知识,希望对你有一定的参考价值。


pragma solidity ^0.4.0;

//string类型
contract Helloworld

    string name="zhanglm";
    //获取外部变量名的值
    function getname() public view returns(string)
        return name;
    
    //改变外部变量name的值
    function changeName(string newName)  public
      name=newName;
    
   //pure方式
    function pureTest(string newName) public pure returns(string)
        //pure 用来固定的输入和输出,不能够读也不能写状态变量,只能够拥有局部变量
        
        return newName;
    



//bool类型用来判断
contract BooleanTest
    bool _a;
    int num1=100;
    int num2=200;
    function getBool() public view returns(bool)
        return _a;
    
     function getRevBool() public view returns(bool)
        return !_a;
    

    function isEqual() public view returns(bool)
        return num1==num2;
    
    //&&   true&&true=true,其他都为false    ||  只要有一端是true就是true,其他为false      false||true=true

     function isConA() public view returns(bool)
        return num1==num2&&true;
    

     function isConB() public view returns(bool)
        return num1==num2||true;
    

 
    

    //各种运算
   contract math
    //  uint=uint256  无符号整数 0  -  2^256-1    uint8   uint16 
    //  int=int256  -2^256 - 2^256
   //   address  地址类型
   //   bytes32  字节32
   //  function 函数

  

//全局变量

//账户内容  msg.sender
//区块的时间戳只读的(按钮按下的时间uint类型)  block.timestamp
//当前的区块编号(unit)  block.number
contract GlobalVariables
    function globalVars() external view returns (address,uint,uint)
        address sender=msg.sender;
        uint timastamp=block.timestamp;
        uint blocknum=block.number;
        return (sender,timastamp,blocknum);

//运行结果
//address: 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4
//uint256: 1677465018
//uint256: 17

    


//view和pure的区别
contract ViewAndPureFunctions

   uint public num;

    function viewFunc() external view returns(uint) 
     return num;//view读链上变量的信息
    

    function pureFunc() external pure returns(uint) 
     return 1;//pure不读链上的变量,只能读局部变量或者什么变量都不读也行
    

    


以上是关于solidity基础语法的主要内容,如果未能解决你的问题,请参考以下文章

区块链特辑——solidity语言基础

区块链特辑——solidity语言基础

区块链开发之Solidity编程基础

区块链开发之Solidity编程基础

区块链开发之Solidity编程基础

区块链开发之Solidity编程基础合约数据存储