当前位置: 首页 > news >正文

再学:Solidity数据类型

目录

1.uint:无符号整型

 2.引用类型

3.数组

 4.注意gas的消耗

​编辑 5.映射


1.uint:无符号整型

注意能容纳的最大值和最小值

 2.引用类型

值类型赋值 相当于 拷贝

若拷贝开销过大,可以考虑引用类型。

memory:只存在于函数内部,调用期间。局部变量

storage:保存于合约,开销最大。全局。

calldata:相当于常量

3.数组

T[k]:固定长度

uint [10] tens;

T[]:长度动态调整

public numbers;

length:数组长度;

push();添加新的零初始化元素到数组末尾,返回引用;

push(x);变长的数组末尾添加给定的元素;

pop();从数组末尾删除元素;

 

 4.注意gas的消耗

若采用for循环,gas消耗极大

 contribute:定义 modifyFunder:修改 getFund:获取

同质化代币和非同质化代币是什么意思?

  • 同质化代币(Fungible Token,FT)

  • 定义:同质化代币是一种能够替换、具有统一性、可接近无穷拆分的代币。例如,比特币(BTC)和以太坊(ETH)都是同质化代币。

  • 非同质化代币(Non-Fungible Token,NFT)

  • 定义:非同质化代币是一种基于区块链技术的数字资产,代表独一无二的物品或内容的所有权。每个NFT都是独一无二且不可替代的。

 5.映射

(1).声明形式:mapping(KeyType =>ValueType),

例如:mapping(address => uint) public balances;

(2).使用方式类似数组,通过 key访问,例如:balances[userAddr];

(3).映射没有长度、没有 key 的集合或 value 的集合的概念
(4).只能作为状态变量(storage)
(5).如果访问一个不存在的键,返回的是默认值。

--1图片中的mapping(address => uint) public balances;

意思是地址指向余额。

--2图片中的balances[msg.sender] = newBalance;

意思是传入新的数据。通过 key访问,通过balances[msg.sender];

--3图片中的get方法,是通过传入address key,来查询得到相对应的余额,也就是value值

--4地址就是创建合约的地址

相关文章:

  • [Linux]进程控制
  • 实战ansible-playbook
  • 论文修改参考文献的数字顺位顺序技巧
  • leetcode每日一题:使字符串平衡的最小交换次数
  • 6个月的Go语言学习甘特图路线图 从零基础到项目实战
  • GB9706.1-2020部分定义
  • flutter Json转Dart Model类
  • EF框架数据库更新后自动更新类及上下文
  • NA611系列WiFi串口服务器常见问题以及解决办法
  • Android PC 要来了?Android 16 Beta3 出现 Enable desktop experience features 选项
  • 爬虫逆向:详细讲述Android底层原理及机制
  • 安全无事故连续天数计算,python 时间工具的高效利用
  • 算法016——最小覆盖子串
  • 209、不大于n的数的组合(python)
  • Linux(8.4)NFS
  • 一、串行通信基础知识
  • Dufs 文件共享系统,内部文件共享还在用ftp\samba?
  • 100. 岛屿的最大面积
  • Linux安装MySQL5.7.26教程图解
  • 蓝桥杯好题推荐---二位前缀和
  • 国家发改委:城市更新项目必须建立多元化多层级资金投入机制
  • 人民日报评论员观察:稳就业,抓好存量、增量、质量
  • 国际观察丨美中东政策生变,以色列面临艰难选择
  • 一周观展|一批重量级考古博物馆开馆:从凌家滩看到孙吴大墓
  • 从良渚到三星堆:一江水串起了5000年的文明对话
  • 广西隆林突发山洪,致3人遇难1人失联