solidity编程-合约结构

Solidity介绍

  • 合约结构
    • 状态变量
    • 数据类型
    • 结构
    • 修改器
    • 事件
    • 枚举
    • 函数
  • 数据类型
    • 值类型

合约由多个结构组成:

  • 状态变量
  • 结构定义
  • 修改器定义
  • 事件声明
  • 枚举定义
  • 函数定义

合约结构

状态变量

编程中的变量是指可以包含值的存储单元。值可以在运行时更改。可以在代码中的多个位置使用变量,并且它们都将引用存储的值。
solidity提供两种类型的变量——状态变量和内存变量。
在合约中,没有在任何函数内声明的变量成为状态变量。状态变量存储合约的当前值。状态变量的内存是静态分配的,并且在合约生命周期内不能改变(分配的内存大小)。必须静态定义每个状态变量的类型。
状态类型的限定符:

  • internal:默认情况下,如果没有指定任何内容,则状态变量具有internal限定符。意味这个变量只能在当前的合约函数和任何继承它们的合约中使用。这些变量不能被外部访问修改,但是可以查看。内部状态变量的示例如下:
 int internal StateVariable;
  • private私有状态变量只能在声明它们的合约中使用。即使在派生合约中也不能使用。私有状态变量的示例如下:
 int private privateStateVariable;
  • public:公共状态变量可以被直接访问。公共状态变量的示例如下:
 int public stateIntVariable;
  • constant:常量状态变量不可变,在声明时必须赋初值。常量状态变量的示例如下:
 bool constant hasIncome = true;

数据类型

solidity提供以下多种开箱数据类型:

  • bool
  • uint/int
  • bytes
  • address
  • mapping
  • enum
  • struct
  • bytes/String

结构

结构或结构体有助于实现自定义的用户数据类型。结构是一种复合数据类型,由多个不同数据类型的变量组成。结构不包含代码,只包含变量。solidity中的结构使用struct关键字。

struct myStruct{
   
        //定义变量
        string name;       

你可能感兴趣的:(读书笔记,区块链,编程语言)