• solidty-基础篇-基础语法和定义函数


    基础语法

    合约

    Solidity 的代码都包裹在合约里面. 一份合约就是以太应币应用的基本模块, 所有的变量和函数都属于一份合约, 它是你所有应用的起点.

    状态变量和整数

    状态变量是被永久地保存在合约中。也就是说它们被写入以太币区块链中. 想象成写入一个数据库。
    uint 无符号数据类型, 指其值不能是负数,
    int 对于有符号的整数存在的数据类型。
    string 字符串用于保存任意长度的 UTF-8 编码数据

    数学运算

    在 Solidity 中,数学运算很直观明了,与其它程序设计语言相同:
    加法: x + y
    减法: x - y,
    乘法: x * y
    除法: x / y
    取模 / 求余: x % y (例如, 13 % 5 余 3, 因为13除以5,余3)
    Solidity 还支持 乘方操作 (如:x 的 y次方) // 例如: 5 ** 2 = 25

    结构体-更复杂的数据类型,有多个属性

    struct 结构体允许你生成一个更复杂的数据类型,它有多个属性。

    struct Person {
      uint age;
      string name;
    }
    
    • 1
    • 2
    • 3
    • 4

    数组

    建立一个集合,可以用 数组_这样的数据类型. Solidity 支持两种数组: 静态 数组和_动态 数组:

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

    结构体类型的数组,状态变量被永久保存在区块链中。

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

    你可以定义 public 数组, Solidity 会自动创建 getter 方法. 语法如下:

    Person[] public people;
    
    • 1

    其它的合约可以从这个数组读取数据(但不能写入数据),所以这在合约中是一个有用的保存公共数据的模式。

    定义函数

    在 Solidity 中函数定义的句法如下:

    function eatHamburgers(string _name, uint _amount) {
    
    }
    
    • 1
    • 2
    • 3

    这是一个名为 eatHamburgers 的函数,它接受两个参数:一个 string类型的 和 一个 uint类型的。现在函数内部还是空的。
    我们的函数定义如下:

    eatHamburgers("evelyn", 100);
    
    • 1
  • 相关阅读:
    区间DP(基础+提高)
    ChromeOptions 设置WebDriver/ChromeDriver的请求头参数
    Windows安装MySQL8.0完整教程
    2022年7月国产数据库大事记-墨天轮
    mongodb
    springboot web 03 多环境配置
    R语言 数据的整理与清洗(第一篇)
    docker 常用命令
    文件重命名自动化:批量处理让生活更简单
    Oracle一个诡异的临时表空间不足的问题
  • 原文地址:https://blog.csdn.net/weixin_52723971/article/details/125544370