iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
1

當我們需要一個學生的類別時,原生的 type 並不能滿足我們,這時候就到了 struct 出場啦!他能幫助我們自己定義所需要的 type 。

本日合約:

pragma solidity ^0.4.25;
contract Class {
    struct Student {
        string name;
        uint score;
        bool active;
    }
    mapping(uint => Student) students;
    
    modifier ActiveStudent(uint id) {
        require(students[id].active, "Student is inactive");
        _;
    }
    
    function register(uint id, string name) public {
        students[id] = Student({name: name, score: 0, active: true});
    }
    
    function modifyScore(uint id, uint score) public ActiveStudent(id) {
        students[id].score = score;
    }
    
    function getStudent(uint id) public ActiveStudent(id) view returns (string, uint) {
        return (students[id].name, students[id].score);
    }
}

本日影片:
https://youtu.be/62I86dgVc2g

Smart Contract 實戰教學播放清單:
https://www.youtube.com/playlist?list=PLHmOMPRfmOxSJcrlwyandWYiuP9ZAMYoF


上一篇
Mapping
下一篇
Example - 實況主捐獻合約 Part 1
系列文
Smart Contract 實戰教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言