值类型与引用类型
由于Solidity是一个静态类型的语言,所以编译时需明确指定变量的类型(包括本地变量
或状态变量
),Solidity
编程语言提供了一些基本类型(elementary types)
可以用来组合成复杂类型。
类型可以与不同运算符组合,支持表达式运算,你可以通过表达式的执行顺序(Order of Evaluation of Expressions)来了解执行顺序。
值类型(Value Type)
值类型
包含
布尔(Booleans)
整型(Integer)
地址(Address)
定长字节数组(fixed byte arrays)
有理数和整型(Rational and Integer Literals
,String literals)
枚举类型(Enums)
函数(Function Types)
为什么会叫值类型
,是因为上述这些类型在传值时,总是值传递1。比如在函数传参数时,或进行变量赋值时。
引用类型(Reference Types)
复杂类型,占用空间较大的。在拷贝时占用空间较大。所以考虑通过引用传递。常见的引用类型有:
- 不定长字节数组(bytes)
- 字符串(string)
- 数组(Array)
- 结构体(Struts)
-
关于参数传递的相关方式的进一步了解: http://baike.baidu.com/item/参数传递 ↩
处于某些特定的环境下,可以看到评论框,欢迎留言交流^_^。