공부하자

Solidity 기초 문법 - function 본문

Solidity

Solidity 기초 문법 - function

dev_riley 2022. 3. 9. 00:04

1. Parameter와 Return값이 없는 function 정의

uint256 public a = 3;
function changeA1() public{
	a = 5;
}

2. Parameter는 있고, Return 값이 없는 function 정의

// function 이름(받고싶은 타입 변수명) 접근제어자 {}
function changeA2(uint256 _valu) public{
	a = _value;
}

3. Parameter와 Return값 둘 다 있는 function 정의

// function 이름 (받고싶은 타입  변수명) public returns(반환하고자 하는 type) {}
function changeA3(uint256 _value) public returns(uint256) {
	a = _value;
	return a;
}
  • 접근 제어자 : public, private, internal, external
    • public : 모든 곳에서 접근 가능
    • external : public처럼 모든 곳에서 접근 가능하나, external이 정의된 자기자신 컨트랙 내에서 접근 불가
    • private : 오직 private이 정의된 자기 컨트랙에서만 가능(private이 정의된 컨트랙을 상속 받은 자식도 불가능)
    • internal : private처럼 오직 internal이 정의된 자기 컨트랙에서만 가능하고, internal이 정의된 컨트랙을 상속받은 컨트랙에서도 접근 가능
contract Public_example {
uint256 public a = 3;

    function changeA(uint256 _value) public {
        a = _value;
    }
    fuction get_a() view public returns (uint256) {
        return a;
    }
}

contract Public_example_2 {
	Public_example instance = new Public_example();
	function changeA_2(uint256 _value) public{
		instance.changeA(_value);
	}
	function use_public_example_a() view public returns(uint256) {
		return instance.get_a();
	}
}
  • view와 pure
    • view : function 밖의 변수들을 읽을 수 있으나 변경 불가능.
    • pure : function 밖의 변수들을 읽지 못하고, 변경도 불가능
    • view와 pure 둘 다 명시 안 할 때 : function 밖의 변수들을 읽어서, 변경을 해야할 때.

 

도움 받은 곳 : https://dayone.tistory.com/

 

My Daily life

 

dayone.tistory.com

개인 공부를 위해 위의 강의를 정리한 내용입니다.

'Solidity' 카테고리의 다른 글

Solidity 기초 문법 - event  (0) 2022.04.01
Solidity 기초 문법 - 상속  (0) 2022.03.22
Solidity 기초 문법 - instance  (0) 2022.03.17
Solidity 기초 문법 - 변수만들기  (0) 2022.03.09
Comments