В продолжение темы про конфигурационные файлы, остановлюсь на формате .INI. .INI - формат конфигурационных файлов, применяемый, в основном в ОС Windows. Тем не менее, ничто не мешает его использовать и в других окружениях. Данный формат значительно проще, чем рассмотренные ранее TOML и YAML, но в некоторых (на самом деле большинстве, как мне кажется) случаях, его возможностей может оказаться достаточно. Синтаксис INI файлы имеют понятный синтаксис и имеют простой для чтения и изменения человеком формат.
Continue reading

В продолжение темы про конфигурационные файлы, взглянем на более распространённый формат YAML. YAML (YAML Ain’t Markup Language) - это надмножество над JSON с упрощенным синтаксисом. Синтаксис Основные типы Аналогично TOML, про который я писал ранее, в YAML можно использовать различные типы данных: # Комментарии начинаются со знака "#" # Пары ключ-значение разделяются через ":" # Строки, как значения, могут быть заключены в кавычки (одинарные, двойные), # но не обязаны key: значение another_key: еще одно значение # Числа можно использовать в экспоненциальной форме a_number_value: 100 scientific_notation: 1e+12 # Логические значения требуется записывать как true или false.
Continue reading

Если вы в IT более 15 минут, то должны знать, что практически каждая программа зависит от некоторых внешних переменных. Например, как я писал в статье про разработку бота для Telegram, к ним можно отнести API- ключи внешних сервисов, используемых в вашем приложении; строки подключения к базе данных; список RSS-лент; список e-mail для каких-либо уведомлений и прочее. Самый простой способ - прописать эти переменные явно в коде, но в этом случае есть недостатки:
Continue reading

Парсинг JSON - одна из наиболее частых задач: в JSON приходят данные в REST API, конфигурационные файлы часто оформляются в виде JSON и пр. Go предоставляют довольно удобные механизмы для этих целей расположенные в пакете "encoding/json" включающий в себя необходимые методы. Преобразование в JSON Преобразование простых типов (bool, string, int) boolVar, _ := json.Marshal(true) fmt.Println(string(boolVar)) // true intVar, _ := json.Marshal(1) fmt.Println(string(intVar)) // 1 fltVar, _ := json.Marshal(2.34) fmt.Println(string(fltVar)) // 2.
Continue reading

Author's picture

feeeper

Разработчик enterprise-решений. В основном на .NET. В свободное время пишу на golang, python. Немного упарываюсь по ML/DS.

Software developer

Russia