章节
- Solidity – 介绍
- Solidity – 环境搭建
- Solidity – 基础语法
- Solidity – 第一个程序
- Solidity – 代码注释
- Solidity – 数据类型
- Solidity – 变量
- Solidity – 变量作用域
- Solidity – 运算符
- Solidity – 循环语句
- Solidity – 条件语句
- Solidity – 数据位置(data location)
- Solidity – 变量的数据位置规则
- Solidity – 赋值的数据位置规则
- Solidity – 字符串
- Solidity – 数组
- Solidity – Enum(枚举)
- Solidity – 结构体(struct)
- Solidity – 映射(mapping)类型
- Solidity – 类型转换
- Solidity – 以太单位
- Solidity – 特殊变量/全局变量
- Solidity – 编程风格
- Solidity – 函数
- Solidity – 常用模式
- Solidity – 智能合约
Solidity - 数据类型
在用任何语言编写程序时,都需要使用变量来存储各种信息。变量是内存空间的名称,变量有不同类型,例如整型、字符串类型等等。操作系统根据变量的数据类型分配内存。
Solidity中,变量类型有以下几大类:
- 值类型
- 地址类型
- 引用类型
值类型
类型 | 保留字 | 取值 |
---|---|---|
布尔型 | bool | true/false |
整型 | int/uint | 有符号整数/无符号整数。 |
整型 | int8 to int256 | 8位到256位的带符号整型数。int256与int相同。 |
整型 | uint8 to uint256 | 8位到256位的无符号整型。uint256和uint是一样的。 |
定长浮点型 | fixed/unfixed | 有符号和无符号的定长浮点型 |
定长浮点型 | fixedMxN | 带符号的定长浮点型,其中M表示按类型取的位数,N表示小数点。M应该能被8整除,从8到256。N可以是0到80。fixed与fixed128x18相同。 |
定长浮点型 | ufixedMxN | 无符号的定长浮点型,其中M表示按类型取的位数,N表示小数点。M应该能被8整除,从8到256。N可以是0到80。fixed与fixed128x18相同。 |
地址类型
地址类型表示以太坊地址,长度为20字节。地址可以使用.balance
方法获得余额,也可以使用.transfer
方法将余额转到另一个地址。
address x = 0x212;
address myAddress = this;
if (x.balance < 10 && myAddress.balance >= 10)
x.transfer(10);
引用类型/复合数据类型
Solidity中,有一些数据类型由值类型组合而成,相比于简单的值类型,这些类型通常通过名称引用,被称为引用类型。
引用类型包括:
- 数组 (字符串与bytes是特殊的数组,所以也是引用类型)
- struct (结构体)
- map (映射)