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;       
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值