当前位置: 首页 > 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地址就是创建合约的地址

http://www.dtcms.com/a/74216.html

相关文章:

  • [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教程图解
  • 蓝桥杯好题推荐---二位前缀和
  • Flask多参数模版使用
  • AI:Machine Learning Data Science
  • 稳定运行的以PostgreSQL数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
  • 图解AUTOSAR_CP_NetworkManagementInterface
  • 人工智能之数学基础:从线性变换理解矩阵范数和矩阵行列式
  • JavaScript 中的包装类型:概念、作用与使用场景
  • spring启动流程
  • 集成学习(上):Bagging集成方法
  • C# ManualResetEvent‌的高级用法
  • Pytorch学习笔记