蓟县做网站,如何做个网站教程,深圳市市场监督管理局,iis 网站后台#x1f52e; Solidity变量指南#xff1a;探寻状态、局部和全局三界之秘#x1f30c;
在Solidity的神秘大陆上#xff0c;变量就像是散落在时间和空间中的宝石#x1f48e;#xff0c;每颗都有它独特的魔力和作用域。掌握这三种变量#xff0c;是成为合约法师的重要一… Solidity变量指南探寻状态、局部和全局三界之秘
在Solidity的神秘大陆上变量就像是散落在时间和空间中的宝石每颗都有它独特的魔力和作用域。掌握这三种变量是成为合约法师的重要一步。
### 1️⃣ 状态变量State Variable—— 链上的恒星⭐️
- 定义状态变量就像是树根一样植根于区块链的土壤中。它们是合约结构中的常青树坚如磐石。 - 特点在合约的任何角落它们都迸发着光彩但每次变动都会激起Gas的波涛。 - 示例 contract Variables {uint public x 1; // 这些是我坚不可摧的状态变量// ...}
### 2️⃣ 局部变量Local Variable—— 函数的幻影
- 定义函数的暗影战士行动迅速随着函数的消逝而灰飞烟灭。 - 特点它们敏捷地舞动在内存中不留痕迹经济又高效消耗的Gas少之又少。 - 示例 function bar() external pure returns (uint) {uint xx 1; // 局部变量我来了又走短暂如梦// ...}
### 3️⃣ 全局变量Global Variable—— 世界之窗
- 定义这是Solidity提供的巫术工具智者的知识通往区块链世界的钥匙。 - 特点如同星空中的指南针指示交易和区块的秘密。它们毫无寒意随手可得无须任何祭品。 - 示例 function global() external view returns (address, uint, bytes memory) {address sender msg.sender; // 全局变量透露着宇宙的奥秘// ...}
- 常用全球魔法 - blockhash(uint blockNumber)揭示区块的秘密符文 - block.coinbase矿工的藏宝图 - block.number历史的卷轴 - msg.sender召唤师的真名 - ...以及更多。
掌握状态、局部和全局变量就如同握住Solidity魔法棒数据在你手中轻盈舞动合约编织着高效和安全的双重保障。在智能合约的编程艺术中这些变量成就了你管理和操控数据的力量。
pragma solidity ^0.8.0;contract Variables {// 1. 状态变量State Variableuint public x 1;uint public y;string public z;// 2. 局部变量Local Variablefunction bar() external pure returns (uint) {uint xx 1;uint yy 3;uint zz xx yy;return zz;}// 3. 全局变量Global Variablefunction global() external view returns (address, uint, bytes memory) {address sender msg.sender;uint blockNum block.number;bytes memory data msg.data;return (sender, blockNum, data);}// 修改状态变量的函数function foo() external {x 5;y 2;z 0xAA;}
}