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