20181118——solidity语言深入编程

类型
Solidity是一种静态类型语言,意味着每个变量(本地或状态变量)需要在编译时指定变量的类型(或至少可以推倒出类型)。Solidity提供了一些基本类型可以用来组合成复杂类型。
Solidity类型分为两类:

值类型(Value Type) - 变量在赋值或传参时,总是进行值拷贝。
引用类型(Reference Types)
值类型包含:

布尔类型(Booleans)
整型(Integers)
定长浮点型(Fixed Point Numbers)
定长字节数组(Fixed-size byte arrays)
有理数和整型常量(Rational and Integer Literals)
字符串常量(String literals)
十六进制常量(Hexadecimal literals)
枚举(Enums)
函数类型(Function Types)
地址类型(Address)
地址常量(Address Literals)

布尔类型(Booleans)
布尔(bool):可能的取值为常量值true和false。

布尔类型支持的运算符有:

!逻辑非
&& 逻辑与
|| 逻辑或
== 等于
!= 不等于
注意:运算符&&和||是短路运算符,如f(x)||g(y),当f(x)为真时,则不会继续执行g(y)

整型(Integers)
nt/uint: 表示有符号和无符号不同位数整数。支持关键字uint8 到 uint256 (以8步进),
uint 和 int 默认对应的是 uint256 和 int256。

支持的运算符:

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

整数除法总是截断的,但如果运算符是字面量(字面量稍后讲),则不会截断。
整数除0会抛异常。
移位运算的结果的正负取决于操作符左边的数。x << y 和 x 2y 是相等, x >> y 和 x / 2y 是相等的。
不能进行负移位,即操作符右边的数不可以为负数,否则会抛出运行时异常。
注意:Solidity中,右移位是和除等价的,因此右移位一个负数,向下取整时会为0,而不像其他语言里为无限负小数。

地址类型(Address)

扫描二维码关注公众号,回复: 4163791 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_36344771/article/details/84206100