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

广州做外贸网站今日头条热搜榜前十名

广州做外贸网站,今日头条热搜榜前十名,减粘装置,美容 北京 公司 网站建设Remix介绍 官网地址 Remix 是一个基于浏览器的 Solidity 开发环境,主要用于编写、测试、调试和部署以太坊智能合约。 Solidity基本数据类型 类型说明示例uint / int无符号 / 有符号整数uint256, int8, int256bool布尔类型(true / false)bo…

Remix介绍

官网地址
Remix 是一个基于浏览器的 Solidity 开发环境,主要用于编写、测试、调试和部署以太坊智能合约。

Solidity基本数据类型

类型说明示例
uint / int无符号 / 有符号整数uint256, int8, int256
bool布尔类型(true / falsebool isActive = true;
address以太坊地址(20字节)address owner;
string字符串string name = "Alice";
bytes定长或变长字节数组bytes32, bytes
fixed / ufixed固定小数类型(未完全实现)不常用,建议不用
enum枚举类型(自定义)enum Status { Active, Inactive }
array数组uint[] memory nums;
struct结构体struct Person { string name; uint age; }
mapping映射(键值对)mapping(address => uint) balances;

1. 整数类型 uint / int

  • uint 是无符号整数(不能为负)
  • int 是有符号整数
  • 支持从 8256(每 8 位递增)
uint256 a = 100;
int8 b = -20;

2.布尔类型 bool

bool isOpen = true;

3.地址类型 address

用于存储以太坊地址(例如钱包地址、合约地址)

address owner = msg.sender;

还可以加上 payable 使其可接收 ETH:

  • msg.sender 默认是 address 类型,不能直接收 ETH。
  • 必须用 payable(…) 转换为 payable address,才可以用 .transfer() 接受或 .send() 发送 ETH
payable(msg.sender).transfer(1 ether);

4.字符串 string

string memory name = "Alice";=

📌 注意:字符串不能直接比较是否相等,需要用 keccak256 哈希后比对。

5.字节数组 bytes

  • bytes 是动态字节数组
  • bytes1 ~ bytes32 是定长字节数组
bytes32 hash = keccak256(abi.encodePacked("hello"));
  • abi.encodePacked(…):将参数打包成二进制格式
  • keccak256(…):对打包后的数据进行哈希

👉 结果是一个 bytes32 类型的哈希值

6.枚举 enum

enum Status { Active, Inactive, Pending }
Status public currentStatus;// 设置状态为 Pending
function setPending() public {currentStatus = Status.Pending;
}

7.结构体 struct

struct Person {string name;uint age;
}

8. 映射 mapping

mapping(address => uint256) public balances;

Solidity 中的数据存储位置

Solidity 中的数据存储位置主要分为三种:storagememorycalldata,理解它们对于 gas 优化和正确处理数据非常关键。


🧠 存储类型(关键字)

用于修饰数组(array),结构(struct),字符串(string),字节(bytes),映射(mapping仅storage支持)

存储类型说明生命周期关键字
storage链上的永久存储持久保存默认状态变量
memory临时内存(函数调用期间)函数执行期间有效memory
calldata外部函数参数的只读区域外部调用期间只读calldata

🔸 1. storage(链上存储)

  • 数据保存在区块链上,是持久化的
  • 用于合约中的状态变量或引用链上已有变量进行修改
string public myName = "Alice"; // 状态变量 -> 存储在 storage 中struct Person {string name;uint age;
}Person[] public people;function updatePerson(uint index) public {Person storage person = people[index]; // 引用链上的 personperson.age = 30; // 改变的是链上的数据
}

🔸 2. memory(临时内存)

  • 只在函数调用期间有效
  • 常用于函数内部的临时数据或函数参数
  • 可读写,但函数执行完就被销毁
function getUpper(string memory _name) public pure returns (string memory) {return _name;
}

🔸 3. calldata(只读外部输入)

  • 用于 external 函数参数
  • 只读不可修改
  • 相比 memory 更省 gas
function sayHello(string calldata _name) external pure returns (string memory) {return _name;
}
http://www.dtcms.com/wzjs/81130.html

相关文章:

  • 成都有哪些设计公司北京度seo排名
  • 广州技术支持 奇亿网站建设百度云搜索引擎入口 百度网盘
  • 淘宝客建站工具网址百度刷排名
  • 注册一个做网站的公司好网络营销师资格证报名
  • 淘宝网官方网站购物商城2022社会热点事件及看法
  • 网站综合开发怎么做今日热点新闻事件摘抄2022
  • 专业做生鲜的网站知道百度
  • 网站建设企业企业培训系统
  • 可视化编辑网站开发高级seo招聘
  • 起点签约的书网站给做封面吗网络推广计划制定步骤
  • 新手用jsp做网站磁力多多
  • 网站建设中效果seo排名赚app最新版本
  • 做网站需要考虑seo吗北京网站设计公司
  • 什么网站可以做报名系统关键词排名优化江苏的团队
  • wordpress 做网课网站适合seo软件
  • 石家庄建站模板外贸seo站
  • 网站制作公司很好 乐云践新合肥网站排名
  • 北大青鸟网站建设课程建网站模板
  • 好看的做地图分析图的网站搜索优化引擎
  • 做外贸网站怎么样友情链接网自动收录
  • 重庆最火的网站正规电商培训学校排名
  • hbuilder网页设计代码seo顾问什么职位
  • 陕西省住房和城乡建设厅官网证件seo整站优化吧
  • 如何用html做网站企业培训机构
  • amazon虚拟机免费做网站网站如何注册
  • 南山电商网站建设南宁seo关键词排名
  • 网站优化简历模板软文发布的平台与板块
  • 做音乐网站需要什么百度seo最成功的优化
  • 鞍山网站制作招聘网长沙网站seo报价
  • 南京市建设工程档案馆网站合肥网站关键词排名