solidity 类型

参考

https://solidity-cn.readthedocs.io/zh/develop/types.html#index-20  官方文档

1.类型

solidity 的类型主要来说的话一般是值,引用映射类型

1、值:像整形啊,布尔这类的用来传递参数

2、引用:包括数组跟结构体,占用空间比较大,赋值的时候传输地址有点像C语言的指针

3、映射:映射可以看作 哈希表

 

布尔类型

bool :可能的取值为字面常数值 true 和 false 。

运算符:

  • ! (逻辑非)
  • && (逻辑与, "and" )
  • || (逻辑或, "or" )
  • == (等于)
  • != (不等于)

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

整型

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

    // 整型
    int public _int = -1; // 整数,包括负数
    uint public _uint = 1; // 正整数
    uint256 public _number = 20220330; // 256位正整数

 

运算符:

  • 比较运算符: <= , < , == , != , >= , > (返回布尔值)
  • 位运算符: & , | , ^ (异或), ~ (位取反)
  • 算数运算符: + , - , 一元运算 - , 一元运算 + , * , / , % (取余) , ** (幂), << (左移位) , >> (右移位)

地址类型

Solidity 提供了两种地址类型:address 和 address payable

1)address 类型:address 类型是不可修改的地址类型。它存储了一个 20 字节的以太坊地址,通常用于表示合约地址或外部账户地址。可以使用 address 类型来存储和操作地址,例如发送以太币或调用其他合约

address public 地址;

2)address payable 类型:address payable 类型是可修改的地址类型,它继承自 address 类型。除了具有 address 类型的功能外,address payable 类型还可以接收和发送以太币

address payable public 地址;

枚举 enum

枚举(enum)是solidity中用户定义的数据类型。

// 用enum将uint 0, 1, 2表示为Buy, Hold, Sell
enum ActionSet { Buy, Hold, Sell }
// 创建enum变量 action
ActionSet action = ActionSet.Buy;

 它可以显式的和uint相互转换,并会检查转换的正整数是否在枚举的长度内,不然会报错

posted @ 2023-10-09 00:10  cc0vc  阅读(47)  评论(0)    收藏  举报