반환값
string greeting = "What's up dog";
function sayHello() public returns (string) {
return greeting;
}
솔리디티에서 함수 선언은 반환값 종류를 포함 (위의 경우 string)
함수 제어자
위에서 살펴 본 함수 sayHello()는 솔리디티에서 상태를 변화시키지 않음. 즉, 어떤 값을 변경하거나 무언가를 쓰지 않음.
이 경우에는 함수를 view 함수로 선언한다네. 이는 함수가 데이터를 보기만 하고 변경하지 않는다는 뜻
function sayHello() public view returns (string) {
솔리디티는 pure 함수도 가지고 있는데, 이는 함수가 앱에서 어떤 데이터도 접근하지 않는 것을 의미
function _multiply(uint a, uint b) private pure returns (uint) {
return a * b;
}
함수는 앱에서 읽는 것도 하지 않고, 다만 반환값이 함수에 전달된 인자값에 따라서 달라짐.
이 경우에 함수를 pure로 선언
함수를 pure나 view로 언제 표시할지 기억하기 어려울 수 있음 운 좋게도 솔리디티 컴파일러는 어떤 제어자를 써야 하는지 경고 메시지를 통해 잘 알려준다!
' :D > block chain' 카테고리의 다른 글
[Solidity] Mapping 과 Address (0) | 2022.02.15 |
---|---|
[Solidity] Keccak256과 형 변환 (0) | 2022.02.15 |
[Solidity] Private / Public / Internal / External (0) | 2022.02.15 |
[Solidity] 구조체와 배열 활용 (0) | 2022.02.15 |
[Solidity] 언어 기본 문법 2 (구조체, 배열, 함수) (0) | 2022.02.15 |