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. |