solidity学习日记(一)

1.版本指令

所有的 Solidity 源码都必须冠以 “version pragma” — 标明 Solidity 编译器的版本, 以避免将来新的编译器可能破坏代码。

pragma solidity ^0.4.19;

2.合约

solidity所有的代码都包含在合约中,合约是所有应用的起点。
如下,就是最简单的HelloWorld空合约:

pragma solidity ^0.4.19;

contract HelloWorld{

}

3.状态变量

状态变量将被永久保存入区块链中

(1)无符号整数uint

uint 无符号数据类型, 指其值不能是负数,对于有符号的整数存在名为 int 的数据类型。

contract Example {
  // 这个无符号整数将会永久的被保存在区块链中
  uint myUnsignedInteger = 100;
}

如上所示,这个无符号整数被赋值100.

(2)有符号整数int
(3)字符串类型string

字符串用于保存任意长度的 UTF-8 编码数据

4.数学运算

  • 加法: x + y
  • 减法: x - y
  • 乘法: x * y
  • 除法: x / y
  • 取模 / 求余: x % y
  • 乘方:x ** y(x的y次方)

5.结构体

struct Person {
 uint age;
 string name;
}

6.数组

Solidity支持两种类型的数组格式:静态数组和动态数组

// 固定长度为2的静态数组:
uint[2] fixedArray;
// 固定长度为5的string类型的静态数组:
string[5] stringArray;
// 动态数组,长度不固定,可以动态添加元素:
uint[] dynamicArray;

当然,也可以建立结构体数组

Person[] people; // 这是动态数组,我们可以不断添加元素

也可以建立公共数组,任何合约都可以访问

Person[] public people;

7.函数

猜你喜欢

转载自blog.csdn.net/m0_52433146/article/details/123890861