Solidity delete keyword
Solidity์ delete
solidity์๋ delete() ํค์๋๊ฐ ์๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
contract MyContract {
uint public number;
uint[] public dynamicArr;
uint[5] public fixedArr;
mapping(uint => uint) public map;
constructor() {
number = 5;
dynamicArr.push(5);
fixedArr[0] = 5;
map[0] = 5;
}
function deleteAll() external {
delete number; // reset value to zero
delete dynamicArr; // reduces size to 0
delete fixedArr; // reset all values to zero
// delete map; // error
delete map[0]; // ok
}
}uint, uint[], uint[5], mapping ์๋ฃ๊ตฌ์กฐ์ ์ฌ์ฉํ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋ค ์๋ฃํ์ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ์ ๋น์ฐํ ์ ์ฉ๋๋ ๋ฐฉ์์ด ๋ค๋ฅด๋ค.
๊ทธ๋ฌ๋ ํต์ฌ์ ํ๋์ด๋ค.
deleteํค์๋๋ ์ญ์ ๊ฐ ์๋์ฌ์ค์ ์ด๋ค.๋ณ์ ๊ฐ์ ์ด๊ธฐ ๊ธฐ๋ณธ ์ํ๋ก ์ฌ์ค์ ํ ์ ์๋ ํค์๋์ด๋ค.
๋น์ฐํ ์ด๊ธฐ ๊ธฐ๋ณธ ์ํ๋ 0์ด๋ค. ๋ง์น free() ํจ์๋ฅผ ์ด์ฉํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ ๊ฒ์ฒ๋ผ NULL(0)์ผ๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
์ ์(
signed/unsigned)์ ๊ฒฝ์ฐ ๋ณ์๋ฅผ 0์ผ๋ก ์ค์ ํ๋ค.bool ๋ณ์์ ๊ฒฝ์ฐ ๋ณ์๋ฅผfalse๋ก ์ค์ ํ๋ค.address ๋ณ์์ ๊ฒฝ์ฐ ๋ณ์๋ฅผ 0(๊ธฐ๋ณธ๊ฐ) ์ฃผ์๋ก ์ค์ ํ๋ค.๊ณ ์ ํฌ๊ธฐ ๋ฐฐ์ด ๋ฐ ๋ฐ์ดํธ์ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
๋์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๋ชจ๋ ์์๋ฅผ โโ์ ๊ฑฐํ๊ณ ๊ธธ์ด๋ฅผ 0์ผ๋ก ์ค์ ํ๋ค.
๊ตฌ์กฐ์ฒด์ ๊ฒฝ์ฐ ๊ฐ ๋ฉค๋ฒ๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
Last updated