了解solidity 最好还是自己去阅读英文的官方文档加上一些中文文档辅助。
英文文档 当前最新版本地址:https://solidity.readthedocs.io/en/v0.5.8/
一. 注释
//单行注释
/* 多行注释 */
///可以生成文档的注释 /** 可以生成文档的注释 */
二. 数据类型
1 整型
通过int/uint定义。可以设置占用空间的大小。从8位开始,8位步长,最大到256位。int8、int16、int24、uint8……
int unit默认是256位。
uint一般用来表示货币数量和时间戳。solidity目前是不支持double float的。
如:uint balace = 1 ether; uint time = 1 hours;
整型常量需要通过 constant 修饰。
2 布尔型
bool 常量值有true false。
3. 地址
以太坊中的地址位160位,即20个字节大小。
address public owner;
4 字节
固定长度字节数以 bytes 加上数字定义。如:bytes 2 foo;
动态长度字节以 bytes数组和string定义。bytes类似byte[],string 不提供长度和按索引访问。
bytes foo; 或者 string str = “hello”;
5 时间单位和货币单位
seconds minutes hours days weeks years 均可作为后缀,并进行相互转换。默认为秒。
wei finney szabo ether等是货币单位。
6 数组和多维数组
固定长度的数组 uint[5] x =[1,2,3,4,5];
动态数组 bytes32 [] names;
多维数组中需要指出的是 solidity中的行列和大多数编程语言是相反的。
7 映射/字典
映射的定义 mapping(_KeyType => _KeyValue)。如:mapping(string =>uint) public balance;