BlockChain/솔리디티
ForAndWhileLoops
정신이 많이없는 개발자
2022. 3. 12. 21:29
728x90
반응형
간단하게 솔리디티언어로 반복문을 작성해보았습니다. js나 파이썬 등에서는 100만번을 돌려도 상관없지만. 솔리디티는 가스비가 나가기 때문에 최대한 불피요한 반복을 줄여서 가스비 절감합시다~~
continue는 i 값이 3일때 코드실행안하고 i=4로 바로 넘어가게 됩니다.
break는 i=5일때 반복문을 끝낸다는 말입니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract ForAndWhileLoops {
function loops() external pure {
for(uint i=0; i< 10; i++){
if( i == 3){
continue;
}
if( i == 5 ){
break;
}
}
uint j = 0;
while (j < 10){
j++;
}
}
//JS로 100만번 돌려도 문제가 되지않지만
//루프수가 많을 수록 더많은 가스를 사용할 것이다. 필요없는 반보을 줄여서 가스비를 절감시켜라!!
function sum(uint _n) external pure returns (uint){
uint s;
for(uint i=0; i<=_n; i++){
s += i;
}
return s;
}
}
반응형