솔리디티

솔리디티

u0jin 2019. 6. 21. 00:06
  • 자료형

uint = 부호없는 정수 = uint256

int = 부호있는 정수

uint8,16,32 등과 같이 더 작게 표현가능

  • 수학연산

프로그래밍언어의 연산과같음

+) 지수 연산 가능​

uint x = 5 ** 2; // 5의2승 // = 25

  • 구조체

구조체를 통해 여러 특성을 가진, 복잡한 자료형 생성가능

struct person{ string name; }

  • 배열

정적배열 :

uint[1] array;

string[2] stringarray;

동적배열: uint[] array;

구조체의 배열:

person[] public people;

// public 배열 : getter 메소드 자동생성 - 다른 컨트랙트들이 이 배열을 읽을수 있음(쓸순없음) = 공개 데이터 저장에 유용

  • 함수 생성

     

function func(string _name){

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

}

 

  • 구조체와 배열 활용

     

Person a = Person("uj");

// 새로운 사람 생성

people.push(a);

// a를 배열에 추가함

/// 한줄로 표현

people.push(Person("uj"));

 

  • private 함수

function _func(uint _number) private{

 // private 는 함수명 다음에 적어줄것

// _함수명

}

 

  • 함수 반환값

function func() public returns (string) { }

 

  • 함수 제어자

     

function func() public view returns (string){

// view - 데이터를 보기만하고 변경하지않음 

}

function _func1(uint a) private pure returns (uint){

// pure - 어떤 데이터도 접근하지않음 

}

 

  • keccak256

keccak256("a")

//SHA3의 한버전인 keccak256을 내장해시함수로 가지고있음

// 256비트를 16진수로 매핑함

 

  • 형변환

결과값에 맞추어서 (uint)a 처럼 변환해 주어야함