Solidity,智能合约的学习(2)

Solidity中的变量类型

1、数值类型(Value Type):包括布尔、整数等类型,数值类型变量赋值时直接传递数值。

2、引用类型(Reference Type):包括结构体、数组等类型,引用类型变量占用空间大,赋值时直接传递地址。

3、映射类型(Mapping Type):Solidity语言的哈希表。

4、函数类型(Function Type):本篇文章不介绍,后面会单独更新该类型文章。

布尔型:是二值变量,取值为:True 或 False 。

//示例代码:

bool public booltest = true;

其运算符包括:

  • !(非)

  • &&(与,“and”)

  • ||(或,“or”)

  • ==(等于)

  • !=(不等于)

整型:是solidity中最常见的类型。

比较运算符:<=    >=    ==    !=    >    <

算数运算符:+    -    *    /    %    **

这种类型的代码大家可以自己尝试赋值并进行运算,此文章不举例子。

对应的创建格式:uint256 public name = 123;

地址型:存储一个20字节的ethereum地址

地址类型也有对应的成员变量,也是所有合约的基础。有普通地址和能够转账(payable)的地址。payable的地址拥有balance和tranfer()两个成员,可以用来查询ETH余额以及转账。

下一章介绍函数类型时,会详细介绍地址类型的相关知识。

定长字节数组:分为定长以及不定长两种。

字节数组bytes两种分为:定长(byte、bytes8、bytes32),不定长。

定长属于数值类型,不定长属于引用类型,定长的bytes可以存储数据,并且相对于不定长的字节数组消耗更少的gas fee。

枚举:enum,用户定义的数据类型。

几乎无人使用,主要职责为uint分配名称,让程序更易于阅读和维护,与C语言中的enum类型相似,因此可以在浏览器搜索自行了解并阅读。

tips:当每次编译后,需要在「部署」按钮处点击「Deploy」以部署合约,从而在合约中展开验证每个类型的变量具体的值。

总结

介绍了solidity的4种变量类型,详细介绍了数值类型(value type)的布尔型、整型、地址、定长数组、枚举,下一篇文章我们将继续学习solidity更多知识。


猜你喜欢

转载自blog.csdn.net/m0_65192070/article/details/126793870
今日推荐