블록체인/Solidity

[Solidity] Solidity 자료형 [정수형, 문자열, 주소, 매핑, 배열, 구조체]

일 월 2022. 8. 27. 23:07

1. 정수형

1-1. uint

 

부호 없는 정수형

uint, uint8, uint16, uint32 등이 존재한다.

uint는 uint256과 같은 의미로, 256은 256bit를 의미한다.

 

1-2 int

 

부호 있는 정수형

 

 

2. 문자열

 

string name;

 

3. 주소

은행 계좌번호와 같은 계정으로, 이더리움 블록체인상의 통화인 이더의 잔액을 가지고, 다른 계정과 이더를 주고 받을 수 있다
주소는 특정 사용자 또는 스마트 컨트랙트가 소유함

CA

EOP

// 크립토 좀비 팀의 주소
0x0cE446255506E92DF41614C46F1d6df9Cc969183

 

4. 매핑

키-값 (key-value) 저장소

데이터를 저장하고 검색하는 데 이용된다

// 금융 앱용으로, 유저의 계좌 잔액을 보유하는 uint를 저장한다: 
mapping (address => uint) public accountBalance;
// 혹은 userID로 유저 이름을 저장/검색하는 데 매핑을 쓸 수도 있다 
mapping (uint => string) userIdToName;

 

5. 배열

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

6. 구조체

struct Todo {
    string text;
    bool completed;
}

Todo[] public todos;

 

구조체 배열

struct Person {
  uint age;
  string name;
}

Person[] public people;

Person minsu = Person(172, "minsu")
people.push(minsu)

array.push()는 배열 끝에 요소를 추가함