一图胜千言! 现在比较主流的编写智能合编的语言就是Solidity,一种静态类型的高级语言。它是用go语言开发的,所以,你可能看到它的数据类型几乎和go语言一模一样的。
go语言作为网络新时代的语言有非常鲜明的特色,特别是在区块链中表现出色,以至于很多区块链项目都有go语言重构。以太坊中也以go语言为主流。如果对go语言比较熟悉,那么Solidity也就不会太陌生了。
Solidity语言也与JavaScript长得也像。其实你只要熟练掌握了一门编程语言,其它的就可以借鉴学习了,需要变换的只是一个外在的形式。
Solidity语言与众不同的是,它比较注重空间的利用,因为代码要发布到以太坊主网上,收费可是按字节来收的哦! 它的一些类型上又分成了很多种,以充分利用空间,比如整型,比如数组。
整型int
1 | int8 8位整型 |
整型溢出问题
uint8最大值是255,最小值是0。超出最大值或小于最小值则会溢出。
解决举出用assert safeMath库。
assert(c >= a)
定长字节数组
bytes1 bytes2 … bytes32 1字节等于8位
byte = bytes1
可以像字符串一样使用,
像整型一样比较和运算
像数组一样索引
数据空间很金贵,一切都要精打细算的。一个字节能容纳的就绝不能两个字节! 这挺考验一个人的功力的。
This page is synchronized from the post: ‘Solidity语言类型 / 学习智能合约#2’