Solidity - Структуры
Типы структур используются для представления записи. Предположим, вы хотите отслеживать свои книги в библиотеке. Возможно, вы захотите отслеживать следующие атрибуты каждой книги -
- Title
- Author
- Subject
- Идентификатор книги
Определение структуры
Чтобы определить структуру, вы должны использовать structключевое слово. Ключевое слово struct определяет новый тип данных с более чем одним членом. Формат оператора структуры следующий:
struct struct_name {
type1 type_name_1;
type2 type_name_2;
type3 type_name_3;
}
пример
struct Book {
string title;
string author;
uint book_id;
}
Доступ к структуре и ее переменной
Чтобы получить доступ к любому члену структуры, мы используем оператор доступа к члену (.). Оператор доступа к члену кодируется как точка между именем переменной структуры и элементом структуры, к которому мы хотим получить доступ. Вы должны использовать структуру для определения переменных структурного типа. В следующем примере показано, как использовать структуру в программе.
пример
Попробуйте использовать следующий код, чтобы понять, как структуры работают в Solidity.
pragma solidity ^0.5.0;
contract test {
struct Book {
string title;
string author;
uint book_id;
}
Book book;
function setBook() public {
book = Book('Learn Java', 'TP', 1);
}
function getBookId() public view returns (uint) {
return book.book_id;
}
}
Запустите указанную выше программу, следуя инструкциям в главе « Первое приложение Solidity» .
Первый клик setBook Нажмите кнопку, чтобы установить значение БОЛЬШОЕ, затем нажмите getBookId чтобы получить идентификатор выбранной книги.
Вывод
uint256: 1