본문 바로가기

:D/block chain

[Solidity] 언어 기본 문법 2 (구조체, 배열, 함수)

 

 

좀 더 복잡한 자료형이 필요할 경우 구조체(struct) 사용

struct Person {
  uint age;
  string name;
}

 

 

배열

 어떤 것의 모음집이 필요할 때 _배열_ 을 사용

 솔리디티에는 _정적_배열과 _동적_배열이 있음

 

// 2개의 원소를 담을 수 있는 고정 길이의 배열:
uint[2] fixedArray;
// 또다른 고정 배열으로 5개의 스트링을 담을 수 있다:
string[5] stringArray;
// 동적 배열은 고정된 크기가 없으며 계속 크기가 커질 수 있다:
uint[] dynamicArray;

 

 

구조체의 배열을 생성하는 것도 가능

Person[] people; // 동적 배열로 원소를 계속해서 추가할 수 있음
// 마치 데이터베이스처럼 컨트랙트에 구조화 된 데이터를 저장하는데 유용함

 

 

public 배열

Person[] public people;

public 으로 배열을 선언할 경우 getter 메소드를 자동으로 생성해줌

그럼 외부에서 다른 컨트랙트들이 이 배열을 읽을 수 있게됨 (쓸 수는 없음)

  -> 컨트랙트에 공개 데이터를 저장할 때 유용함

 

 


 

 

솔리디티에서의 함수 선언

 

function eatHamburgers(string _name, uint _amount) {

}

함수 인자명을 언더스코어(_)로 시작해서 전역 변수와 구별하는 것이 관례

 

함수 호출 방법

eatHamburgers("vitalik", 100);