Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 66.4MB ·虚拟内存 1300.5MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
在用任何语言编写程序时,都需要使用变量来存储各种信息。
变量是内存空间的名称,变量有不同类型,例如整型、字符串类型等等。
操作系统根据变量的数据类型分配内存。
Solidity中,变量类型有以下几大类:
字节型bytes8 to bytes328位到32位的字节型数据。
类型 | 保留字 | 取值 |
---|---|---|
布尔型 | bool | true/false |
整型 | int/uint | 有符号整数/无符号整数。 |
整型 | int8 to int256 | 8位到256位的带符号整型数。int256与int相同。 |
整型 | uint8 to uint256 | 8位到256位的无符号整型。uint256和uint是一样的。 |
定长浮点型 | fixed/unfixed | 有符号和无符号的定长浮点型 |
定长浮点型 | fixedMxN | 带符号的定长浮点型,其中M表示按类型取的位数,N表示小数点。M应该能被8整除,从8到256。N可以是0到80。fixed与fixed128x18相同。 |
定长浮点型 | ufixedMxN | 无符号的定长浮点型,其中M表示按类型取的位数,N表示小数点。M应该能被8整除,从8到256。N可以是0到80。fixed与fixed128x18相同。 |
值类型数据:
uint x = 100; int x = -200; byte32 b = 0x01020304
我们可以测量类型的最大值和最小值。
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Test { uint public a = type(uint).min; uint public b = type(uint).max; }
地址类型表示以太坊地址,长度为20字节。地址可以使用 .balance 属性获得余额,也可以使用 .transfer() 方法将余额转到另一个地址。
address x = 0x212; address myAddress = this; if (x.balance < 10 && myAddress.balance >= 10) x.transfer(10);
Solidity中,有一些数据类型由值类型组合而成,相比于简单的值类型,这些类型通常通过名称引用,被称为引用类型。
引用类型包括:
Solidity 支持三种类型的变量:状态变量 – 变量值永久保存在智能合约存储空间中的变量。局部变量 – 变量值仅在函数执行过程中有效的变量,函数退出后,变量无效。全局变量 – ...