본문 바로가기

Solidity

[ 솔리디티 이더리움 , 크립토좀비 ] 변수,배열,함수 선언

=================================================================

솔리디티 변수

 

javascript의 변수 선언은 변수가 변하는지, 변하지 않을건지의 설정 정도만 가능하다(let, const);

솔리디티 언어는 앞으로 들어갈 변수의 data type부터 선언한뒤 변수를 선언한다.

 

 

작성 방식 :

데이터 타입 [변수명] = [값];

 

 

예) uint numbers = 1;

>> int 타입의 numbers라는 변수 그 안에 담긴 값은 1

 

string name = "heini";

>>string 타입의 name이라는 변수 그 안에 담긴 값은 heini

 

 

data type의 종류 : string, uint, int,...etc

* 여기서 uint는 int랑 같은 뜻

 

=================================================================

솔리디티 배열

 

정적배열 : 배열의 종개수를 정해줌

 

작성 방식 :

데이터타입[숫자] = 변수명;

예 ) string[5] = nameArr;

>>  string타입의 데이터가 5개 들어가는 nameArr라는 이름의 배열

>> ["","","","",""] 과 같음

 

 

동적배열 : 배열이 무제한으로 늘어날 수 있음

 

작성 방식 :

데이터타입[] = 변수명;

예 ) int[] =numArr;

>>  int 타입의 데이터가 무제한으로 들어가는 numArr라는 이름의 배열

 

public, private : 현재 코드를 다른 곳에서 사용할 수 있는가 없는가를 결정해줌.

 

{ 구조체 배열 }

 

예를 들어 test라는 구조체가 있다고 보자

 

struct test{
	string title;
	uint num;
}

 

구조체 안에는 데이터타입이 스트링인 title이라는 변수가 있고

타입이 int(숫자인) num이라는 변수가 있다.

 

이 구조체를 사용하여 배열의 format을 만들어주는 걸로 이해했다.

사용하려면

구조체이름[] 배열이름

으로 선언하면 된다.

 

위의 test 구조체 format으로 arrName이라는 배열을 만들어주겠다.

 

test[] arrName;

 

여기에 위의 숫자나 public,private을 사용하여 정적배열로 만들거나 옵션을 추가할 수 있다.

 

그럼 이렇게 구조체로 format이 정해진 배열에는 어떻게 값을 넣을까?

만약 push를 써서 값을 넣는다고 한다면

 

배열이름.push(구조체이름(인자값))

이렇게 들어가야한다. 물론 datatype값과 일치하는 값을 넣어야한다.

 

arrName.push(test("heini",1));



=================================================================

솔리디티 함수

 

솔리디티의 함수선언을 할때도 들어가는 인자값의 타입을 정하고 선언해야한다.

또한 인자값을 선언할때 이 code block안에서만 사용한다는 의미로 언더스코어(_)를 넣어줘야한다. 자바스크립트로 치자면 let.

 

예를 들어 test라는 함수를 만들때 문자를 받은 title이라는 인자값과 숫자를 받을 num이라는 인자값을 넣어 변수를 선언해 보겠다.

 

function test(string _title, string _num){

}

 

이렇게 선언된 함수는 기본적으로 Public함수이다.

만약 private 함수를 만들고 싶다면 이 콘트렉트 안에서만 함수를 사용한다는 뜻이기 때문데 함수명앞에 언더스코어를 붙여주고 인자값뒤에 private을 추가해야한다.

 

function _test(string _title, string _num) private{

}

 

 

=================================================================

내가 만든 랜덤 좀비 생성기

 

https://share.cryptozombies.io/ko/lesson/1/share/new

 

제 크립토좀비 OGURL을/를 확인해 보세요!

제가 방금 전에 크립토좀비 레슨 1을 마쳤어요. 이더리움 게임을 만드는 기본 내용을 배웠어요. 제가 처음 만든 좀비를 한번 보세요!

share.cryptozombies.io