3分钟Solidity: 1.3 基本数据类型

40 阅读2分钟

有关最新版本的内容,请参见Cyfrin.io上的基本数据类型(代码示例)

以下介绍一些Solidity中可用的基本数据类型

  • boolean
  • uint256
  • int256
  • address
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;

contract Primitives {
    bool public boo = true;

    /*
    uint代表无符号整数,意味着非负整数
    有不同大小的非负整数
        uint8   取值范围从 0 到 2 ** 8 - 1
        uint16  取值范围从 0 到 2 ** 16 - 1
        ...
        uint256 取值范围从 0 到 2 ** 256 - 1
    */
    uint8 public u8 = 1;
    uint256 public u256 = 456;
    uint256 public u = 123; // uint 是 uint256 的别名

    /*
    int类型允许使用负数。 和uint一样,不同范围从int8到int256不等
    
    int256 取值范围从 -2 ** 255 到 2 ** 255 - 1
    int128 取值范围从 -2 ** 127 到 2 ** 127 - 1
    */
    int8 public i8 = -1;
    int256 public i256 = 456;
    int256 public i = -123; // int 与 int256 相同

    // int的最小最大值
    int256 public minInt = type(int256).min;
    int256 public maxInt = type(int256).max;

    address public addr = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;

    /*
     在 Solidity 中,数据类型byte表示一串字节。 
     Solidity提供了两种类型的字节: 
     - 固定大小的字节数组 
     - 动态大小的字节数组。 
     Solidity中的bytes表示一个动态字节数组。 它是byte[]的简写。
    */
    bytes1 a = 0xb5; //  [10110101]
    bytes1 b = 0x56; //  [01010110]

    // 各类型的默认值
    // 未赋值的变量为默认值
    bool public defaultBoo; // false
    uint256 public defaultUint; // 0
    int256 public defaultInt; // 0
    address public defaultAddr; // 0x0000000000000000000000000000000000000000
}

Remix Lite 尝试一下

solidity-基本数据类型

END