主内
ー。。ー。

변수

변수 정의는 모든 프로그래밍 언어의 기본 부분입니다.이 섹션에서는 다음을 살펴보겠습니다. 솔리디티에서 정의할 수 있는 다양한 유형의 변수

변수 정의

변수는 다음 구문을 사용하여 정의됩니다.

// <type> <name> = <value?>;
uint256 myVariable = 123;
uint256 myOtherVariable;

📘 변수 기본값

변수에 값을 할당하지 않으면 기본값이 할당됩니다.디폴트 값은 변수 유형에 따라 달라집니다. 일반적으로 유형 이름에서 기본값을 유추할 수 있습니다.예를 들어, uint256 기본값은 0, 및 bool 기본값은 false. 정수의 값이 다음과 같을 것으로 예상하지 못할 수도 있으므로 스마트 계약을 작성할 때 이 점을 염두에 두십시오. 0 처음 정의할 때

정수 및 부울

정수 유형은 정수를 나타내는 데 사용됩니다.부호 (양수 또는 음수) 또는 부호 없음 (양수만) 일 수 있습니다.

정수 유형설명
bool부울 (참/거짓)
int8부호 있는 8비트 정수
int16부호있는 16비트 정수
int32부호 있는 32비트 정수
int64부호있는 64비트 정수
int128부호 있는 128비트 정수
int256부호있는 256비트 정수
uint8부호 없는 8비트 정수
uint16부호 없는 16비트 정수
uint32부호 없는 32비트 정수
uint64부호 없는 64비트 정수
uint128부호 없는 128비트 정수
uint256부호 없는 256비트 정수

주소

주소 유형은 이더리움 주소를 나타내는 데 사용됩니다.다음 중 하나일 수 있습니다. address 또는 address payable.

주소 유형설명
address이더리움 주소
address payable이더를 보내고 받을 수 있는 이더리움 주소

고정 크기 바이트 배열

고정 크기 바이트 배열은 바이트 시퀀스를 나타내는 데 사용됩니다.다음 중 하나일 수 있습니다. bytes 또는 bytes32.

고정 크기 바이트 배열설명
bytes동적 바이트 시퀀스
bytes1bytes32고정 크기 바이트 시퀀스
stringUTF-8 바이트의 동적 시퀀스

📘 열거형 기본 값

열거형의 각 값에는 기본 값이 있습니다.기본적으로 첫 번째 값의 기본 값은 0, 이후의 각 값에는 이전 값보다 하나 큰 기본 값이 있습니다.

구조체

구조체 유형은 사용자 지정 데이터 컨테이너를 나타내는 데 사용됩니다.다음 구문을 사용하여 정의할 수 있습니다.

struct MyStruct {
uint256 myUint;
bool myBool;
}

배열

배열은 값 모음을 나타내는 데 사용됩니다.크기가 고정되거나 동적일 수 있습니다.

어레이설명
uint256[]부호 없는 256비트 정수의 동적 배열
uint256[5]길이가 5인 부호 없는 256비트 정수로 구성된 고정 크기 배열

위 목록에는 정수 배열만 표시되지만 모든 유형의 배열을 정의할 수 있습니다.

bool[] myBoolArray;
address payable[] myAddressArray;

다차원 배열을 정의할 수도 있습니다.

uint256[][] myMultiDimensionalArray;

배열 액세스/할당은 다음 구문을 사용하여 수행됩니다.

myArray[index] = 123;
myOtherArray[indexA][indexB] = 456;

매핑

매핑은 키-값 저장소를 나타내는 데 사용됩니다.다음 구문을 사용하여 정의할 수 있습니다.

// mapping(<key type> => <value type>) <name>;
mapping(address => uint256) myMapping;

다차원 매핑을 정의할 수도 있습니다.

mapping(address => mapping(address => uint256)) myMultiDimensionalMapping;

매핑 액세스/할당은 배열에 액세스하는 것과 같은 방식으로 수행됩니다.

myMapping[myAddress] = 123;
myOtherMapping[myAddress][myOtherAddress] = 456;

열거형

Enum 유형은 고정된 값 집합을 나타내는 데 사용됩니다.다음 구문을 사용하여 정의할 수 있습니다.

enum MyEnum {
Value1,
Value2,
Value3
}