견고성-매핑
매핑은 배열 및 구조체와 같은 참조 유형입니다. 다음은 매핑 유형을 선언하는 구문입니다.
mapping(_KeyType => _ValueType)
어디
_KeyType− 모든 내장 유형과 바이트 및 문자열이 될 수 있습니다. 참조 유형이나 복잡한 개체는 허용되지 않습니다.
_ValueType − 모든 유형이 될 수 있습니다.
고려 사항
매핑은 다음 유형 만 가질 수 있습니다. storage 일반적으로 상태 변수에 사용됩니다.
매핑은 공개로 표시 할 수 있습니다. Solidity는 자동으로 getter를 생성합니다.
예
Solidity에서 매핑 유형이 작동하는 방식을 이해하려면 다음 코드를 시도하십시오.
pragma solidity ^0.5.0;
contract LedgerBalance {
mapping(address => uint) public balances;
function updateBalance(uint newBalance) public {
balances[msg.sender] = newBalance;
}
}
contract Updater {
function updateBalance() public returns (uint) {
LedgerBalance ledgerBalance = new LedgerBalance();
ledgerBalance.updateBalance(10);
return ledgerBalance.balances(address(this));
}
}
Solidity First Application 장에 제공된 단계를 사용하여 위 프로그램을 실행하십시오 .
첫 번째 클릭 updateBalance 값을 10으로 설정하는 버튼은 다음과 같이 디코딩 된 출력을 표시하는 로그를 살펴 봅니다.
산출
{
"0": "uint256: 10"
}