견고함의 데이터 구조
You can read about basics of solidity like variables and different keywords, here 👇
갑시다,
💜 데이터 구조는 단순히 데이터를 저장하는 구조이므로 특정 메서드를 구현할 수 있습니다. 이렇게 하면 시간과 경우에 따라 메모리가 절약됩니다.
💜 모든 데이터 구조에는 트레이드 오프와 적절한 사용이 있습니다. 따라서 시나리오에 따라 한 데이터 구조가 다른 데이터 구조보다 더 잘 작동할 수 있습니다.
💜 배열
고정 배열
<DATA TYPE> <ACCESS MODIFIER> <NAME>
uint[10] public balance; // This would create size of 10 indexes, If we try to store more it would fail.
address[200] private address_arr; // This would create size of 200 indexes, If we try to store more it would fail.
배열에 값 저장
balance[0] = 200; // Stores value at index 0.
balance[1] = 203; // Stores value at index 1.
👉 기억하세요. 배열 인덱스는 0부터 시작합니다. 따라서 10 크기 배열은 0에서 9까지의 인덱스를 가집니다.
동적 배열
<DATA TYPE> <ACCESS MODIFIER> <NAME>
uint[] public balance; // This would create a dynamic size array, will increase the size as per need.
address[] private address_arr;
👉 필요할 때만 동적 배열을 사용하는 것이 좋습니다.
👉EVM은 개발자가 코드를 최대한 최적화하도록 강제하는 몇 가지 제약 조건을 구현합니다.
배열의 값에 액세스
<DATA TYPE> <ACCESS MODIFIER> <NAME>
uint[10] public balance; // This would create a dynamic size array, will increase the size as per need.
🍏 public_balance[8]; //This would give the value stored at 8th position in the array.
⛔ public_balance[10]; // This would give error as index are from 0 to 9;
address[] private address_arr;
💜 매핑
매핑
mapping(<DATA TYPE> => <DATA TYPE>) <ACCESS MODIFIER> <NAME>
mapping(string=>uint256) public balance; // This would require a key of string and values of uint256
mapping(address=>uint256) public balance2; // This would require an address as key and values of uint256
👉 키는 고유해야 하며 그렇지 않으면 키에 해당하는 이전에 저장된 값을 덮어씁니다.
매핑에 값 저장
balance["abc"] = 26;
balance2[0x.....] = 92;
접근 중
balance["abc"]; //This would give result as 26.
balance2[0x....]; // This would give result as 92.
💜 구조
구조
Struct <NAME>{ <DATA TYPE> <NAME> }
Struct People {
uint256 number;
String name;
}
정의
<STRUCT NAME> <ACCESS MODIFIER> <NAME> = <STRUCT NAME> ({..provide details of variable as shown...acts as a constructor})
People public people1 = People ({number:5, name:"Tanisk"});
People public people2 = People ({number:92, name:"Sharma"});
IT 사용
<NAME>.<VARIABLE IN STRUCT>
people1.name;
👉 더 많은 데이터 구조가 있지만 광범위하게 사용되므로 스마트 계약 작성에 충분합니다.
👉 더 많은 것이 있지만 향후 기사에서 배울 수 있습니다.
그게 다야.
다음 기사에서는 EVM의 몇 가지 뉘앙스와 EVM에서 메모리를 처리하는 방법을 살펴보겠습니다.
Hello, I am Tanisk Annpurna
I post about
🚀web3, Blockchain, Ethereum
🐦Smart Contract, Solidity
🎉JavaScript, ReactJS, NodeJS
Follow and like for more such posts. !!✌️!!
Reference
이 문제에 관하여(견고함의 데이터 구조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/taniskannpurna/data-structures-in-solidity-4j85텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)