Solidity 솔리디티 강좌 21강 : if 조건문
이번엔 solidity의 if 조건문에 대해 알아보도록 하자.
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 문을 사용하였다.
- 인자가 5 => "Yes, it is 5" return
- 인자가 3 => "Yes, it is 3" return
- 인자가 1 => "Yes, it is 1" return
- 인자가 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 되었다.
출처 및 참고 자료