有時(shí)需要更復(fù)雜的數(shù)據(jù)類型,Solidity 提供了 結(jié)構(gòu)體:
struct Person {
uint age;
string name;
}
結(jié)構(gòu)體允許你生成一個更復(fù)雜的數(shù)據(jù)類型,它有多個屬性
注:我們剛剛引進(jìn)了一個新類型, string。 字符串用于保存任意長度的 UTF-8 編碼數(shù)據(jù)。 如: string greeting = "Hello world!"。
實(shí)戰(zhàn)演習(xí)
在我們的程序中,我們將創(chuàng)建一些僵尸!每個僵尸將擁有多個屬性,所以這是一個展示結(jié)構(gòu)體的完美例子。
建立一個struct 命名為 Zombie.
我們的 Zombie 結(jié)構(gòu)體有兩個屬性: name (類型為 string), 和 dna (類型為 uint)。
pragma solidity ^0.4.19;
contract ZombieFactory {
uint dnaDigits = 16;
uint dnaModulus = 10 ** dnaDigits;
struct Zombie{
string name;
unit dna;
}
}
struct:結(jié)構(gòu)