РАЗРАБОТКА УМНЫХ КОНТРАКТОВ ETHEREUM
Основы Solidity: Типы
Типы ссылок
В этой части мы рассмотрим ссылочные типы - arrays
, struct
и mapping
, которые хранят местоположение данных, ссылку и не передают данные напрямую. Очевидно, что мы должны обращаться с такими типами с большей осторожностью, поскольку мы имеем дело с локациями, иначе мы легко можем потерять производительность.
Массивы - это группа элементов одного типа данных, в которой каждый элемент имеет определенное местоположение, называемое индексом. Размер массивов может быть фиксированным или динамическим.
В Solidity A[5]
всегда является массивом, содержащим пять элементов типа A
, даже если A
сам является массивом. Это не относится к другим языкам, таким как C.
Массивы имеют следующие элементы - length
, push()
, push(x)
, pop()
. Давайте рассмотрим каждый из них на нескольких примерах.
Структуры в Solidity позволяет объявлять новые типы в виде структур. Этот тип представляет собой группу различных типов, которые могут содержать как типы значений, так и ссылочные типы. С одним необходимым ограничением - структура не может содержать член собственного типа, поскольку размер структуры должен быть конечным. Это не означает, что структура не может содержать структуру, например struct A
может содержать struct B
, но struct A
не может содержать свой собственный тип struct A
.
Сопоставления хранит данные в паре "ключ-значение", где ключ может быть любым типом значения. Мы можем рассматривать этот ссылочный тип как хеш-таблицы или словарь на любых других языках программирования, где данные могут быть получены по ключу.
Структуры очень хорошо работают с сопоставлениями и массивами, но на первый взгляд немного сложно к этому привыкнуть.
Все ссылочные типы имеют дополнительную аннотацию, расположение данных, о том, где они хранятся. Возможны три варианта: memory
, storage
и calldata
. Но мы рассмотрим расположение и назначение данных поведение в следующей статье.
Ссылки
Все детали в порядке
- Макет договора
- Типы ценностей: Часть первая
- Типы ценностей: Часть вторая
- Операторы
- Типы ссылок
- Расположение данных и поведение при назначении
- Структуры управления
- Обработка ошибок: утверждение, требование, возврат и исключения
- Функции: Часть первая
- Функции: Часть вторая
Не стесняйтесь задавать любой вопрос.
Будьте в безопасности, делайте хорошую работу и оставайтесь на связи!