Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 클레이튼
- Non-Blocking
- ERC-721
- 2021정보처리기사실기
- node.js
- ETH
- npm
- React
- 솔리디티
- Klaytn
- ERC721
- it5분잡학사전
- 정보처리기사
- it5
- 노마드코더
- solidity
- 카카오홈페이지클론
- 정보처리기사실기
- 비트코인
- 노개북
- github
- 정보처리기사실기요약
- 콜백함수this
- 페이지클론
- blockchain
- 카카오페이지클론
- web3.js
- 이더리움
- 블록체인
- git
Archives
- Today
- Total
Be lazy, Be crazy
FunctionOutputs 본문
728x90
반응형
💡 솔리디티에서 return은 어떤 형식으로 될까??
FunctionOutputs 말그대로 솔리디티 문법에서 return을 사용할 때 어떻게 return이 되고 어떤 형식으로 되는지 알아봅시다.
// 대략적으로 3가지 형식이 있다.
// 보통 언어와 비슷하게 function returnOne () public pure returns(uint){return 1;} 이런형식으로 1개를 리턴
// 조금 신기하게 여러개를 return 할 수도 있다.
function returnMany() public returns(uint, bool){ return (1, true);} 이와같은형식으로 2개를 리턴 주의할점은
## returns (타입,타입) 을입력해줌으로써 이함수는 어떤 타입을 return 할 것인지에 대해서는 명시해주어야 합니다.
### 아래 함수실행 후 결과 사진을 보면 이해가 더 빠르게 된다.
### 구조분해 할당 부분에서 주의할 점은
(,bool _b) = returnMany(); 이부분이다. returnMany()함수는 2개를 return해주는데 하나만 받고싶은 경우에는
콤마(,) 를 기준으로 해주어야지 제대로된 구조분해 할당이 된다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
//Return multiple outputs
// Named outputs
// Destructuring Assignment
contract FunctionOutputs {
//multiple outputs;
function returnMany() public pure returns(uint, bool) {
return(1,true);
}
//변수명으로 출력
function named() public pure returns(uint x, bool b) {
return(1,true);
}
//이러한 방법은 가스비를 조금 아낄수 있다.
function assigned() public pure returns(uint x, bool b) {
x = 1;
b = true;
}
// Destructuring Assignment
function destructingAssigments() public pure {
(uint x,bool b) = returnMany();
(,bool _b) = returnMany();
}
}
반응형
'BlockChain > 솔리디티' 카테고리의 다른 글
Array Remove (0) | 2022.03.22 |
---|---|
Array (0) | 2022.03.15 |
FunctionModifier (1) | 2022.03.13 |
Error (0) | 2022.03.12 |
ForAndWhileLoops (1) | 2022.03.12 |
Comments