-
Modifier & SPDXBlock-Chain/Solidity 2023. 3. 22. 15:30
Solidity의 모디파이어와 SPDX에 대해 정리하였습니다.
< return 변수 >
return 부분에 타입뿐만 아니라 변수값도 같이 명시함으로써 추후 변수명을 새로 명시할 필요가 없습니다.
Ex)
function add1(uint256 _num1, uint256 _num2) public pure returns (uint256){ uint256 total = _num1 + _num2; return total; } function add2(uint256 _num1, uint256 _num2) public pure returns (uint256 total){ total = _num1 + _num2; return total; }
< modifier >
여러 함수에 반복적으로 쓰이는 코드를 줄이기 위해 사용합니다. express의 미들웨어와 비슷한 역할(개념)을 가지고 있습니다.
- 형태
// 파라미터 값이 없는 경우 modifier 모디파이어명 { // 반복되는 코드 _; } // 파라미터 값이 있는 경우 modifier 모디파이어명(파라미터) { // 반복되는 코드 _; }
: _; 부분에 함수를 실행합니다.
Ex)
modifier onlyAdults { revert("You are not allowed to pay for the cigarette"); _; } function BuyCigarette() public onlyAdults returns(string memory) { return "Your payment is succeeded"; }
< SPDX 라이센스 >
솔리디티 문서에 의하면, 저작권과 괕은 문제를 해소하기 위해 솔리디티 프로그램 최상단에 SPDX라이센스를 표기해야 한다고 요구하고있습니다.
하지만 컴파일러는 SPDX라이센스를 확인하기 않으므로 명시하지 않거나, // SPDX-License-Identifier: UNLICENSED 와 같이 작성하여도 컴파일에는 문제가 없습니다.Ex)
// SPDX-License-Identifier: GPL-3.0 ~ ~ ~
< 주석 >
주석은 코드에 사람이 읽을 수 있는 부연설명을 붙일 때 사용됩니다. 주석을 코드실행시 무시됩니다.
- 행단위 : //
- 블럭단위 : /* */
'Block-Chain > Solidity' 카테고리의 다른 글
Enum & Interface & Library & Import (0) 2023.04.24 Send Ethereum (0) 2023.04.04 에러 핸들러 (0) 2023.03.07 조건문 & 반복문 (0) 2023.02.15 Mapping & Array & struct(구조체) (0) 2023.01.16