王籍在《入若耶溪》写道“禅噪林逾静,鸟鸣山更幽。”动静结合,像是哲学里的矛盾关系一样。而在Solidity里,动态字节数组也显现出它独有的魅力。

实验目的

1.学会创建一个动态数组,并去获取它的元素

2.了解对动态数组的修改,获取它的动态长度,并学到动态数组里的push方法

实验要求

1. 补充bytesToString函数功能,将bytes类型的name转换为string类型并返回。

2. 补充pushBytes函数代码,使用push关键字对动态字节name追加一个字节,思考追加字符在字节中的位置。(如:0x99)

3. 补充changename函数代码,将name字节索引0处的字符改为0x88。

以下是本次实验所用的测试代码,请使用remix编辑器进行该实验。

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract DynamicByte{
    bytes public name = new bytes(2);
    function Initname ()public{
        name[0] = 0x7a;
        name[1] = 0x68;
    }
    function getLength() public view returns(uint) {
        return name.length;
    }
    function changename()public{
    }
    function pushBytes()public{
    }
 function bytesToString()public view returns(string memory){
    return  (4);
 }
}

下面是本实验配套的视频教程: