title | actions | material | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Array-er |
|
|
Når du vil ta i bruk en kolleksjon av elementer kan du bruke en array. Det er to forskjellinge typer Array i Solidity: fixed arrays og dynamic arrays:
// Array med en fastslått lengde på 2 strings:
uint[2] fixedArray;
// en annen fastslått Array, denne kan holde 5 strings:
string[5] stringArray;
// En dynamisk Array - har ingen fastslått lengde, kan forsette å bli større:
uint[] dynamicArray;
Du kan også lage en array av structs. Ved å ta i bruk forrige kapittels Person
struct:
Person[] people; // dynamisk Array, vi kan fortsette å legge til elementer
Husk at status variabler er lagret direkte på Blockchain-en. Så å lage en dynamisk array av structs som dette kan bli brukt til å lagre strukturert data i contract-en din, litt som en database.
Du kan deklarere en array som public
, og Solidity vil automatisk lage en getter metode for den. Syntaksen ser slik ut:
Person[] public people;
Andre contracts vil da ha mulighet til å lese (men ikke skrive til) denne array-en. So this is a useful pattern for storing public data in your contract. Så dette er en hjelpsom metode for å lagre offentlig data i kontrakten din.
Vi kommer til å ville lagre en hel gjeng med Zombier i appen vår. Og vi kommer til å ville vise frem alle zombiene våre til andre apper, så vi vil at det skal være offentlig (public).
- Lag en offentlig(public) array av
Zombie
structs, og gi den navnetzombies
.