当前位置:网站首页>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);
边栏推荐
- tensorflow2-savedmodel convert to pb(frozen_graph)
- Research Report on the development trend and competitive strategy of the global pipeline robot inspection camera industry
- Today, with the popularity of micro services, how does service mesh exist?
- 一波三折,终于找到src漏洞挖掘的方法了【建议收藏】
- Fundamentals of C language
- Research Report on the development trend and competitive strategy of the global chemical glassware industry
- NPDP能给产品经理带来什么价值?你都知道了吗?
- Opencv mat class
- 241. 为运算表达式设计优先级
- Quelle valeur le pdnp peut - il apporter aux gestionnaires de produits? Vous savez tout?
猜你喜欢

Take you to API development by hand

微服务大行其道的今天,Service Mesh是怎样一种存在?

2022-2-15 learning xiangniuke project - Section 1 filtering sensitive words

What problems should be considered for outdoor LED display?

【14. 区间和(离散化)】

The first word of JVM -- detailed introduction to JVM and analysis of runtime data area

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

sqlilabs less9

JVM second conversation -- JVM memory model and garbage collection

sqlilabs less-11~12
随机推荐
APK签名原理
2022-2-15 learning xiangniuke project - Section 1 filtering sensitive words
Research Report on the development trend and competitive strategy of the global diamond suspension industry
[zero basic IOT pwn] reproduce Netgear wnap320 rce
tensorflow2-savedmodel convert to tflite
NPDP能给产品经理带来什么价值?你都知道了吗?
2022-2-15 learning the imitation Niuke project - Section 3 post details
WebSocket(简单体验版)
Internet hospital system source code hospital applet source code smart hospital source code online consultation system source code
Error-tf.function-decorated function tried to create variables on non-first call
官宣:Apache Doris 顺利毕业,成为 ASF 顶级项目!
Yyds dry goods inventory hcie security day13: firewall dual machine hot standby experiment (I) firewall direct deployment, uplink and downlink connection switches
The State Administration of Chia Tai market supervision, the national development and Reform Commission and the China Securities Regulatory Commission jointly reminded and warned some iron ores
[R language data science]: common evaluation indicators of machine learning
Minimum spanning tree and bipartite graph in graph theory (acwing template)
Mongodb second talk - - mongodb High available Cluster Implementation
sqlilabs less-8
What value can NPDP bring to product managers? Do you know everything?
首届技术播客月开播在即
tensorflow2-savedmodel convert to tflite