solidity吧 关注:125贴子:159
  • 5回复贴,共1

solidity结构体使用以及solidity类型小结

只看楼主收藏回复

本帖一共分为五个小结,以下是主要内容
一、 关键字struct自定义类型
二、结构体的声明和初始化
三、结构体的访问和赋值
四、结构体的限制
五、写代码实战


IP属地:广东1楼2023-08-26 15:27回复
    一、 关键字struct自定义类型
    struct Player {
    string name;
    uint coins;
    }


    IP属地:广东2楼2023-08-26 15:28
    回复
      二、结构体的声明和初始化
      1.仅声明变量,不初始化
      Player public player;
      2.按成员顺序初始化,如果结构体有mapping需要跳过
      Player public player = Player(1,"Tom",1);
      3.通过指定成员名称初始化,这样就不用指定成员的顺序,在结构体变量多的时候,推荐这样初始化
      Player public player = Player({id:1,level:1});


      IP属地:广东3楼2023-08-26 15:29
      回复
        三、结构体的访问和赋值
        结构体通过点号进行成员访问,例如:xxx.name,
        赋值也是一样 xxx.name="Tom"
        players[msg.sender].name = name;


        IP属地:广东4楼2023-08-26 15:30
        回复
          四、结构体的限制
          结构体目前仅支持在合约内部使用,或继承合约内使用。如果要在参数和返回值中使用结构体,函数必须声明internal,0.8版本以后没有这个问题。


          IP属地:广东5楼2023-08-26 15:30
          回复
            五、写代码来练习一下吧


            IP属地:广东6楼2023-08-26 15:31
            回复