当前位置:网站首页>solidty-基础篇-基础语法和定义函数
solidty-基础篇-基础语法和定义函数
2022-07-01 14:46:00 【new life1937】
基础语法
合约
Solidity 的代码都包裹在合约里面. 一份合约就是以太应币应用的基本模块, 所有的变量和函数都属于一份合约, 它是你所有应用的起点.
状态变量和整数
状态变量是被永久地保存在合约中。也就是说它们被写入以太币区块链中. 想象成写入一个数据库。
uint 无符号数据类型, 指其值不能是负数,
int 对于有符号的整数存在的数据类型。
string 字符串用于保存任意长度的 UTF-8 编码数据
数学运算
在 Solidity 中,数学运算很直观明了,与其它程序设计语言相同:
加法: x + y
减法: x - y,
乘法: x * y
除法: x / y
取模 / 求余: x % y (例如, 13 % 5 余 3, 因为13除以5,余3)
Solidity 还支持 乘方操作 (如:x 的 y次方) // 例如: 5 ** 2 = 25
结构体-更复杂的数据类型,有多个属性
struct 结构体允许你生成一个更复杂的数据类型,它有多个属性。
struct Person {
uint age;
string name;
}
数组
建立一个集合,可以用 数组_这样的数据类型. Solidity 支持两种数组: 静态 数组和_动态 数组:
// 固定长度为2的静态数组:
uint[2] fixedArray;
// 固定长度为5的string类型的静态数组:
string[5] stringArray;
// 动态数组,长度不固定,可以动态添加元素:
uint[] dynamicArray;
结构体类型的数组,状态变量被永久保存在区块链中。
Person[] people; // 这是动态数组,我们可以不断添加元素
公共数组
你可以定义 public 数组, Solidity 会自动创建 getter 方法. 语法如下:
Person[] public people;
其它的合约可以从这个数组读取数据(但不能写入数据),所以这在合约中是一个有用的保存公共数据的模式。
定义函数
在 Solidity 中函数定义的句法如下:
function eatHamburgers(string _name, uint _amount) {
}
这是一个名为 eatHamburgers 的函数,它接受两个参数:一个 string类型的 和 一个 uint类型的。现在函数内部还是空的。
我们的函数定义如下:
eatHamburgers("evelyn", 100);
边栏推荐
- Minimum spanning tree and bipartite graph in graph theory (acwing template)
- Websocket (simple experience version)
- 微服务大行其道的今天,Service Mesh是怎样一种存在?
- Opencv interpolation mode
- Advanced C language
- [zero basic IOT pwn] reproduce Netgear wnap320 rce
- The first word of JVM -- detailed introduction to JVM and analysis of runtime data area
- [commercial terminal simulation solution] Shanghai daoning brings you Georgia introduction, trial and tutorial
- 2022-2-15 learning the imitation Niuke project - Section 3 post details
- [14. Interval sum (discretization)]
猜你喜欢

sqlilabs less-11~12

What are the books that have greatly improved the thinking and ability of programming?

Word2vec yyds dry goods inventory

In hot summer, please put away this safe gas use guide!

phpcms实现订单直接支付宝支付功能

如何看待国企纷纷卸载微软Office改用金山WPS?

Details of appium key knowledge

【牛客网刷题系列 之 Verilog快速入门】~ 使用函数实现数据大小端转换

音乐播放器开发实例(可毕设)

2022-2-15 learning xiangniuke project - Section 1 filtering sensitive words
随机推荐
What value can NPDP bring to product managers? Do you know everything?
[Verilog quick start of Niuke question series] ~ use functions to realize data size conversion
Blog recommendation | in depth study of message segmentation in pulsar
sqlilabs less-11~12
QT capture interface is displayed as picture or label
Is the futures company found on Baidu safe? How do futures companies determine the regularity
Advanced C language
Research Report on the development trend and competitive strategy of the global chemical glassware industry
Vnctf2022 open web gocalc0
Research Report on the development trend and competitive strategy of the global display filter industry
Research Report on the development trend and competitive strategy of the global CCTV robot industry
炎炎夏日,这份安全用气指南请街坊们收好!
En utilisant le paquet npoi de net Core 6 c #, lisez Excel.. Image dans la cellule xlsx et stockée sur le serveur spécifié
Research Report on the development trend and competitive strategy of the global diamond suspension industry
Research Report on the development trend and competitive strategy of the global ultrasonic scalpel system industry
SQLAchemy 常用操作
It's suitable for people who don't have eloquence. The benefits of joining the China Video partner program are really delicious. One video gets 3 benefits
手把手带你入门 API 开发
643. Maximum average number of subarrays I
对于编程思想和能力有重大提升的书有哪些?