Solidity 语法学习

一 类型

值类型

  • 布尔类型
    bool: true false
    !
    &&
    ||
    ==
    !=

运算符|| 和 &&都遵循同样的短路规则.说明在表达式F(x)||G(x)中,如果F(x)的值为true,那么g(y)就不会被执行,即使会出现一些副作用.

  • 整型
    int/uint :分别表示有符号无符号的不同位数的整型变量。 支持关键字 uint8 到 uint256 (无符号,从 8 位到 256 位)以及 int8 到 int256,以 8 位为步长递增。 uint 和 int 分别是 uint256 和 int256 的别名。

  • 地址类型
    address: 地址类型存储一个 20 字节的值(以太坊地址的大小)。 地址类型也有成员变量,并作为所有合约的基础。

    • 地址类型成员变量
      balance:查询一个地址的余额.
      transfer:想一个地址发送以太币.
    address x = 0x123
    address myAddress = this;
    if (x.balance < 10 && myAddress.balance >= 10) x.transfer(10);
    

    call callcode delegatecall

  • 定长字节数组
    bytes1, bytes2, bytes3, ..., bytes32。byte 是 bytes1 的别名
    byte[k] 返回第k个字节
    .length 表示这个字节数组的长度

  • 变长字节数组
    bytes
    string: 变长UTF-8 编码字符串类型

  • 字符串字面常数
    "string" 'string'

  • 十六进制字面常数
    hex"0123FF"

  • 枚举类型
    enum ActionChoices { GoLeft, GoRight, GoStraight, SitStill }
    ActionChoices.GoLeft

你可能感兴趣的:(Solidity 语法学习)