블록체인/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()는 배열 끝에 요소를 추가함