본문 바로가기
솔리디티/크립토좀비

레슨1 챕터10 - 함수 제어자

by 멸치김밥 2022. 2. 11.

함수선언에 public / private 처럼 추가로 넣을 수 있는 함수 제어자라는것이 있다

함수제어자는 view와 pure, modifier가 있다

 

함수 내에서 실행하는것들이 어떤 값을 변경시키지 않는 경우에 view로 선언하고

함수가 매개변수로 받은 값 외에는 어떤 데이터에도 접근하지 않는 것은 pure로 선언한다.

string 인사 = "안녕?";

function 인사해() public view returns (string) {
  return 인사;
}

위와 같은 함수는 함수밖의 데이터에 접근은 하지만 그 값을 변경시키지는 않는다.

그래서 view함수로 선언할 수 있다. 

 

function _계산좀하자(uint a, uint b) private pure returns (uint) {
  return a * b;
}

위 함수같은 경우는 매개변수로 받은 a와 b 외에는 아무 데이터에도 접근하지 않는다.

이런 경우에는 pure함수로 선언할 수 있다.

 

modifier는 나중에 다루게 될것.

간략하게는 함수처럼 정의되고 그 안의 내용으로 이 함수제어자가 달린 함수가 사용되기에 적절한지 판단하는 요소로 작용한다

modifier 함수제어자라네(uint 휘뚜루, uint 마뚜루, uint 나뚜루) {
	require(휘뚜루+마뚜루 >= 나뚜루);
    _;
}

function 모함수(string 김치) 함수제어자라네 {
	철수식탁.push(김치);
}

 


    // 함수 밖의 데이터들을 바꾸지 않는 view함수로 선언
    function _generateRandomDna(string _str) private view returns (uint) {
        
    }

댓글