견고성 101
2399 단어 web3blockchainsolidity
데이터 유형
주로 Solidity 언어에는 4가지 유형의 데이터 유형이 있습니다.
부울:
우리가 알고 있듯이 변수가 참 또는 거짓인지 지정할 수 있습니다.
단위:
부호 없는 정수를 나타냅니다. 음수가 아닌 정수만 지정할 수 있습니다.
uint는 uint8, uint16 ... uint256과 같은 크기 범위를 가질 수 있습니다.
uint8 = 0 ~ 2**8-1. 다른 사람들도 마찬가지입니다.
정수:
아시다시피 정수를 지정할 수 있고 int 유형에는 음수가 허용됩니다. 여기서 uint와 같이 다양한 크기의 범위를 지정할 수도 있습니다.
주소:
address는 이더리움 주소의 크기인 20바이트 값을 보유합니다. 또한 주소로 자금을 이체하거나 보낼 수 있는
address payable
로 지정할 수 있습니다.// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
contract ExampleDataType {
bool public boo = true;
uint public age = 27;
int public num = -3;
address public addr = 0x8CA434018A6d.....;
}
변수
변수는 일부 데이터를 저장하는 컨테이너입니다. 세 가지 유형의 변수가 있습니다.
상태:
상태 변수는 함수 내부에서 선언되며 블록체인에 저장되지 않습니다.
현지의:
로컬 변수는 함수 외부에서 선언되어 블록체인에 저장됩니다.
글로벌:
전역 변수는 블록체인에 대한 정보를 제공합니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
contract ExampleVariable {
string public name = "jon doe"; // state variable.
function changeName() public {
uint pin = 500082; // local variable
address sender = msg.sender; // global variable
}
}
상수
상수는 수정할 수 없는 변수입니다. 값은 하드 코딩되어 있으며 상수를 사용하면 가스를 절약할 수 있습니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
contract ExampleConstants {
address public constant ADDR = 0xee3445e...;
uint256 public constant MAX_NFT = 1000
}
불변
불변 변수는 상수와 같습니다. 불변 변수의 값은 생성자 내에서 설정할 수 있지만 이후에는 수정할 수 없습니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
contract ExampleConstants {
address public immutable MY_ADDRESS;
constructor() {
MY_ADDRESS = msg.sender;
}
}
https://github.com/bibhu-padhy/learn-web3
Reference
이 문제에 관하여(견고성 101), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bibhupadhy/solidity-101-12jk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)