on
[솔리디티,크립토좀비] 변수,배열,함수 선언
[솔리디티,크립토좀비] 변수,배열,함수 선언
=================================================================
솔리디티 변수
javascript의 변수 선언은 변수가 변하는지, 변하지 않을건지의 설정 정도만 가능하다(let, const);
솔리디티 언어는 앞으로 들어갈 변수의 data type부터 선언한뒤 변수를 선언한다.
string, uint, int,...etc
uint = int or number
예) uint numbers = 1;
string name = "heini";
=================================================================
솔리디티 배열
데이터타입[] = 변수명
정적배열 : 배열의 종개수를 정해줌
데이터타입[숫자] 변수명
동적배열 : 배열이 무제한으로 늘어날 수 있음
데이터타입[] 변수명
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
from http://develop-famous.tistory.com/142 by ccl(A) rewrite - 2021-10-08 13:01:29