👁 В большинстве реальных проектов с Go часто необходимо настраивать параметры через командную строку. Вместо того чтобы жёстко кодировать параметры, лучше использовать флаги для их гибкой настройки. Это улучшает поддержку и масштабируемость проекта.
📝 Пример кода, который позволяет работать с конфигурационными флагами:
package main
import (
"fmt"
"os"
"flag"
)
func main() {
// Объявляем флаги
host := flag.String("host", "localhost", "Host address")
port := flag.Int("port", 8080, "Port number")
debug := flag.Bool("debug", false, "Enable debug mode")
// Парсим флаги
flag.Parse()
// Выводим полученные параметры
fmt.Printf("Server starting on %s:%d\n", *host, *port)
if *debug {
fmt.Println("Debug mode is enabled")
}
}🔎 Что делает этот код:
— Определение флагов:
host- строковый флаг для указания адреса хоста (по умолчаниюlocalhost)port- целочисленный флаг для указания порта (по умолчанию8080)debug- булевый флаг для включения или выключения режима отладки
— Парсинг флагов: с помощью функции flag.Parse() происходит парсинг флагов из командной строки
— Вывод конфигурации: после парсинга флагов выводится информация о сервере и режиме отладки
📌 Этот подход полезен, если проект требует гибкой настройки параметров при запуске (например, указание хоста, порта, режима отладки и т. п.).
❗️ Подходит для любого проекта на Go, где есть необходимость в настройке параметров командной строки. Для серверных приложений, микросервисов или любых приложений, где необходимо получать параметры конфигурации от пользователя.
tags: #go #разработка #полезно
❤️ @recura_tech



