210529

심우진·2022년 5월 29일

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

contract SimpleStorage {

uint256 public favoriteNumber;

mapping(string => uint256) public nameToFavoriteNumber;

struct People {
    uint256 favoriteNumber;
    string name;
}

People[] public people;

function store(uint256 _favoriteNumber) public {
    favoriteNumber = _favoriteNumber;
}

function retrieve() public view returns(uint256) {
    return favoriteNumber;
}

// calldata: 인자로 받은 변수를 수정할 수 없음, memory, storage
function addPerson (string memory _name, uint256 _favoriteNumber) public {
    people.push(People(_favoriteNumber, _name));
    nameToFavoriteNumber[_name] = _favoriteNumber;
}

}

0개의 댓글