4일차 - 변수 및 범위
14198 단어 blockchainsolidity100daysofcodeweb3
특사-VC / 30일의 견고함
스마트 계약 개발을 배우기 위한 30일간의 Solidity 단계별 가이드.
내용물
🧡🧡🧡 해피코딩 🧡🧡🧡
30일간의 견고성: 라이센스 및 Pragma
작가
…
View on GitHub
Solidity Series의 4
중 Day30
입니다.
오늘은 Solidity에서 변수와 범위에 대해 배웠습니다.
변수
Solidity는 세 가지 유형의 변수를 지원합니다.
Solidity는 세 가지 유형의 변수를 지원합니다.
State Variables
- 값이 계약 저장소에 영구적으로 저장되는 변수. Local Variables
- 함수가 실행될 때까지 값이 존재하는 변수. Global Variables
− 블록체인에 대한 정보를 가져오는 데 사용되는 전역 네임스페이스에 특수 변수가 있습니다. Solidity에서 변수 이름을 지정할 때 다음 규칙을 염두에 두십시오.
상태 변수
값이 계약 저장소에 영구적으로 저장되는 변수입니다.
pragma solidity ^0.8.6;
contract SolidityTest {
uint storedData; // State variable
constructor() public {
storedData = 10; // Using State variable
}
}
지역 변수
값이 정의된 함수 내에서만 사용할 수 있는 변수입니다. 함수 매개변수는 항상 해당 함수에 대해 로컬입니다.
pragma solidity ^0.8.6;
contract SolidityTest {
uint storedData; // State variable
constructor() public {
StoredData = 10;
}
function getResult() public view returns(uint){
uint a = 1; // local variable
uint b = 2;
uint Result = a + b;
return Result; //access the local variable
}
}
글로벌 변수
전역 작업 공간에 존재하며 블록체인 및 트랜잭션 속성에 대한 정보를 제공하는 특수 변수입니다.
이름
보고
blockhash(uint blockNumber)는 (bytes32)를 반환합니다.
주어진 블록의 해시 - 현재 블록을 제외한 가장 최근 256개의 블록에 대해서만 작동합니다.
block.coinbase (지불 주소)
현재 블록 채굴자의 주소
블록.난이도(단위)
현재 블록 난이도
block.gaslimit (단위)
현재 블록 가스 제한
전역 변수에 대한 추가 정보here
변수 범위
지역 변수의 범위는 정의된 기능으로 제한되지만 상태 변수는 세 가지 유형의 범위를 가질 수 있습니다.
Public
− 공용 상태 변수는 메시지를 통해서는 물론 내부적으로도 액세스할 수 있습니다. 공개 상태 변수의 경우 자동 getter 함수가 생성됩니다. Internal
− 내부 상태 변수는 이것을 사용하지 않고 현재 계약 또는 여기에서 파생된 계약에서 내부적으로만 액세스할 수 있습니다. Private
− 비공개 상태 변수는 현재 계약에서 내부적으로만 액세스할 수 있으며 파생된 계약에서는 정의되지 않습니다. 예를 들어
pragma solidity ^0.8.6;
contract C {
uint public data = 30;
uint internal iData= 10;
function x() public returns (uint) {
data = 3; // internal access
return data;
}
}
contract Caller {
C c = new C();
function f() public view returns (uint) {
return c.data(); //external access
}
}
contract D is C {
function y() public returns (uint) {
iData = 3; // internal access
return iData;
}
function getResult() public view returns(uint){
uint a = 1; // local variable
uint b = 2;
uint result = a + b;
return storedData; //access the state variable
}
}
특사-VC / 30일의 견고함
스마트 계약 개발을 배우기 위한 30일간의 Solidity 단계별 가이드.
Reference
이 문제에 관하여(4일차 - 변수 및 범위), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/envoy_/day-4-variables-and-scopes-497b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)