28 lines
2.0 KiB
Markdown
28 lines
2.0 KiB
Markdown
|
|
# Домашнее задание №9
|
|||
|
|
|
|||
|
|
📗 В домашнем задании нужно реализовать сериализацию объекта структуры данных в .properties формат с использованием тегов структур и рефлексии.
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
При сериализации данных в некоторых случаях могут возникнуть проблемы с пустыми значениями. Например, если у вас есть структура, в которой некоторые поля могут быть не заполнены, и вы сериализуете, то в результате получится объект с пустыми полями. Если это не является ожидаемым поведением, то в нашей реализации можно будет использовать тег omitempty, чтобы пропустить пустые поля при сериализации.
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Стуктура для сериализации в .properties формат (поподробнее с .properties форматом можно ознакомиться здесь):
|
|||
|
|
|
|||
|
|
|
|||
|
|
```go
|
|||
|
|
type Person struct {
|
|||
|
|
Name string `properties:"name"`
|
|||
|
|
Address string `properties:"address,omitempty"`
|
|||
|
|
Age int `properties:"age"`
|
|||
|
|
Married bool `properties:"married"`
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
📌 Для выполнения домашнего задания подготовлен шаблон кода и основные тесты, которую помогут проверить корректность реализации конвертации. Шаблона доступен по ссылке.
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
### Задание со звездочкой
|
|||
|
|
Выполнять необязательно, но если вы хотите, можете попробовать реализовать обощенную функцию сериализации, которая сможет работать не только со структорой Person.
|