往期回顾
- Solidity快速上手教程(一)—— HelloWorld_1.sol(读取链上数据)
- Solidity快速上手教程(二)—— HelloWorld_2.sol(修改链上数据,并读取)
- Solidity快速上手教程(三)—— 简单几种基本数据类型和认识结构体
-
Solidity快速上手教程(四)—— 基础数据类型完整版&运算符
- 教程(四)补充知识点 —— 位运算
本节知识点
数组
和 JavaScript
、C++
、Java
这些传统开发语言一样,Solidity
也有数组,可以是动态的也可以是一开始就声明好的定长数组。
在 Solidity
中数组一旦被定长,就无法改变其长度;当数组元素已经填满,也无法再添加新的元素,但可以对指定下标进行修改,也可以删除。我们用一个简单的例子来讲解定长数组和动态数组。
情景再现
王铁蛋是个打铁匠,在铸造刀剑枪棍这类武器上拥有常人无法企及的天赋,最近他去跳悬崖,意外发现世外高人留下的《五侠修仙传》,其中记载着剑修一脉的武器大全。光是木剑就有五种不同的稀有度,稀有度不同直接导致武器所附带的灵气波动有所变化,王铁蛋认为这本传记太厚了,于是找我帮忙,让我在区块链上为他记录木剑的五种不同稀有度,以及其对应的攻击加成。我觉得用定长数组解决是挺好的【其实用教程(三)中提到的结构体更好。】
吃饭了 (●’◡’●) 回来再写
洗澡了 回来再写
【2022年7月6日17点10分补充】
话说王铁蛋把书里关于木剑的信息告诉我,木剑的五档稀有度,分别是:
- \small\color{#999999}{普通的:攻击+10}
- \small\color{green}{精良的:攻击+18}
- \small\color{blue}{稀有的:攻击+27}
- \small\color{purple}{史诗的:攻击+36}
- \small\color{orange}{传说的:攻击+45}
然后他希望我可以实现,通过索引定位木剑的攻击加成。
Solidity 代码演示