Маршалинг/анмаршалинг ассоциативных массивов в golang?
В Go для работы с ассоциативными массивами (или словарями) и их маршалинга в формат YAML используется пакет gopkg.in/yaml.v2
. Этот пакет позволяет преобразовывать структуры данных Go в формат YAML и обратно.
Вот пример того, как можно маршалить ассоциативные массивы в Go:
Пример ассоциативного массива и его маршалинг
- Импортируйте необходимый пакет:
12345import ("fmt""gopkg.in/yaml.v2") - Создайте ассоциативный массив:
123456789101112131415161718192021222324252627282930313233func main() {data := map[string]interface{}{"person": map[string]interface{}{"name": "John Doe","age": 30,"city": "New York",},"company": map[string]interface{}{"name": "Example Corp","employees": []map[string]interface{}{{"name": "Alice","role": "Developer",},{"name": "Bob","role": "Manager",},},},}// Маршалинг в YAMLyamlData, err := yaml.Marshal(data)if err != nil {fmt.Printf("Error marshaling to YAML: %v\n", err)return}// Печать результатаfmt.Println(string(yamlData))}
Вывод программы
Запустив этот код, вы получите следующий вывод в формате YAML:
Recommended Posts
Golang Sarama: настройка Partitioner
20.03.2024