solidity学习(七)-- 数据类型

solidity官方文档太多了,我今天实在不想自己总结了,所以这部分的学习引用了CSDN的:

https://blog.csdn.net/lj900911/article/details/83037625

感谢这位博主。

0x01 solidity数据类型分类

  值类型:布尔类型(bool)、整型(int)、地址类型(address)、定长字节数组(bytes)、枚举类型(enum)、函数类型(function);

  引用类型:字符串(string)、数组(array)、结构体(structs)、映射(mapping)、不定长字节数组(bytes)
0x02 具体说明

【下次做一个表格 今天先占个坑】
1、整型:
  solitity中的整型与JavaScript不同,该类型支持有符号(int)或无符号(uint)两种类型,也支持从uint8到uint256,以及从int8到int256等多种类型。所以长度是  2**8~2**256字节。

2、地址类型(address)
  以太坊中的地址的长度为20字节,一字节等于8位,一共160位,所以address其实亦可以用uint160来声明。

3、枚举类型(enum)
   一个变量可能的取值都知道,就可以把它定义为枚举型,然后把变量的值一一列出来,令变量的值只限于列举出来的值的范围内。例如月份、星期几、天气等情况,枚举类型用enum关键字来定义。

enum weekday{sun,mon,tue,wed,the,fri,sat};

4、结构体(struct)

5、映射

  mapping(_KeyType => _ValueType)

  mapping不是数据类型,mapping(address => uint)才是用来声明变量balances的数据类型。

6、数组
  solidity中数组可以分为可变数组和不可变数组。

7、字符串、动态字节数组和固定字节数组 三者相互转换

 

posted @ 2021-07-15 17:57  这醋好甜  阅读(295)  评论(0编辑  收藏  举报