견고성 101

  • 데이터 유형
  • 변수
  • 상수
  • 불변성

  • 데이터 유형



    주로 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

    좋은 웹페이지 즐겨찾기