Menu
Coddy logo textTech

매핑

Coddy Solidity 여정의 기초 섹션에 포함된 레슨. 53개 중 42번째.

매핑은 저장소에서 키를 값과 연결합니다. 컨트랙트 범위에서 mapping(keyType => valueType)을 선언하고 대괄호를 사용하여 키를 읽거나 씁니다. 아직 기록되지 않은 키는 값 타입의 기본값을 반환하며, 예를 들어 uint256의 경우 0입니다.

컨트랙트 범위에서 다음을 선언합니다:

mapping(uint256 => uint256) points;

제공된 main 함수 안에서 다음을 사용합니다:

points[4] = 18;
console.log(points[4]);
console.log(points[5]);

할당은 키 4만 변경합니다. 키 5에는 한 번도 할당된 적이 없으므로 0으로 읽힙니다. 매핑은 길이나 키 목록을 기본적으로 제공하지 않으므로, 애플리케이션에서 순회가 필요하다면 키를 별도로 추적해야 합니다.

기록되지 않은 매핑 키는 해당 값 타입의 기본값으로 읽힙니다.

challenge icon

챌린지

쉬움

uint256 키에서 uint256 값으로 매핑하고 이름을 scores로 지정하세요. 키 player에 points를 할당한 다음 scores[player] 및 scores[player + 1]을 출력하세요.

테스트는 다음 순서로 main에 인수를 전달합니다: uint256 player, uint256 points. 각 테스트는 새로운 컨트랙트 상태로 시작합니다.

요청된 출력을 위해 console.log를 사용하세요. 요청된 값만 한 줄에 하나씩 출력하고, 과제에서 지정하지 않는 한 추가 레이블은 출력하지 마세요.

직접 해보기

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 player, uint256 points) external  {
        // 여기에 솔루션을 작성하세요.
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Solidity 플레이그라운드