iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0

今天要來複習 Mapping 這個 Key-Value Map 的使用方式。
通過簡單的記錄學生成績的範例,把如何儲存資料,將 Key 都給存下來,以及正確地刪除 Mapping 裡面的數值給複習一遍。

本日範例程式碼:
https://gist.github.com/hydai/1fc00629951108a31993a03b48f41158

// SPDX-License-Identifier: MIT
pragma solidity ^0.7.1;

contract StudentScores {
    mapping(string => uint) scores;
    string[] names;
    
    function addScore(string memory name, uint score) public {
        scores[name] = score;
        names.push(name);
    }
    
    function getScore(string memory name) public view returns (uint) {
        return scores[name];
    }
    
    function clear() public {
        while (names.length > 0) {
            delete scores[names[names.length-1]];
            names.pop();
        }
    }
}

本日影片連結:
https://youtu.be/hK9VLobzuUk

本系列播放清單:
https://www.youtube.com/playlist?list=PLHmOMPRfmOxQ3HSlId8KAKxnt8yuyTZVk


上一篇
Day 6 - Value Types
下一篇
Day 8 - 影片資料毀損,本系列將停止更新
系列文
在 2020 年該如何寫 Ethereum Smart Contract8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言