Solidity 솔리디티 강좌 21강 : if 조건문

flowing1ife·2023년 7월 7일
0

[ Solidity 깨부수기 ]

목록 보기
21/29
post-thumbnail

Solidity 솔리디티 강좌 21강 : if 조건문
이번엔 solidity의 if 조건문에 대해 알아보도록 하자.


if 조건문

📌 Solidity

if문은 여느 프로그래밍 언어와 똑같이 if 안에 특정한 조건이 발현이 되었을 때, if문 안의 내용을 실행한다.

// SPDX-License-Identifier: GPL-3.0
pragma solidity >= 0.7.0 < 0.9.0;

contract lec21{

    string private outcome = "";

    function isIt5(uint256 _number)public returns (string memory){
        if(_number == 5){
            outcome = "Yes, it is 5";
            return outcome;
        }else{
            outcome = " No, it is not 5";
            return outcome;
        }
    }
}

isIt5 함수는 인자 값으로 5가 들어왔을 경우 "Yes, it is 5"를, 그렇지 않을 경우 "No, it is not 5"를 return한다.


👉 결과

5를 인자로 입력하니 "Yes, it is 5"가 decoded output에 return이 되었다.

5가 아닌 다른 수를 인자로 입력하니 "No, it is not 5"가 decoded output에 return이 되었다.

// SPDX-License-Identifier: GPL-3.0
pragma solidity >= 0.7.0 < 0.9.0;

contract lec21{

    string private outcome = "";

    function isIt5(uint256 _number)public returns (string memory){
        if(_number == 5){
            outcome = "Yes, it is 5";
            return outcome;
        }
            outcome = " No, it is not 5";
            return outcome;
        
    }
}

위의 경우, 인자가 5면 If문이 발동을 하고, 아니라면 if문이 발동이 안될 것이다.

👉 결과

10을 인자로 주었더니 if문이 발동이 되지 않았다.

// SPDX-License-Identifier: GPL-3.0
pragma solidity >= 0.7.0 < 0.9.0;

contract lec21{

    string private outcome = "";

    function isIt5(uint256 _number)public returns (string memory){
        if(_number == 5){
            outcome = "Yes, it is 5";
            return outcome;
        }
            outcome = " No, it is not 5";
            return outcome;
        
    }

    function isIt5or3or1(uint256 _number)public returns (string memory){
        if(_number == 5){
            outcome = "Yes, it is 5";
            return outcome;
        }
        else if(_number == 3){
            outcome = "Yes, it is 3";
            return outcome;
        }
        else if(_number == 1){
            outcome = "Yes, it is 1";
            return outcome;
        }
        else {
            outcome = "No, it is not 5,3 or 1";
            return outcome;
        }
    }
}

이번엔 if-else-if 문을 사용하였다.

  1. 인자가 5 => "Yes, it is 5" return
  2. 인자가 3 => "Yes, it is 3" return
  3. 인자가 1 => "Yes, it is 1" return
  4. 인자가 5,3,1에 해당되지 않으면 => "No, it is not 5,3 or 1" return

👉 결과

인자로 3을 넣었더니 "Yes, it is 3"이 return 되었다.

인자로 32를 넣었더니 "No, it is not 5,3 or 1"이 return 되었다.


출처 및 참고 자료

profile
👩🏻‍💻 Backend Engineer, Contract Developer

0개의 댓글