package
0.0.0-20180225195639-b173b6ed556d
Repository: https://github.com/alexandergrom/componenta.git
Documentation: pkg.go.dev
# README
Componenta / Config
Парсинг простых конфигуровочных файлов.
key1 = value # Ключ значение (default)
key2 = "value2" # Строковые значения
key3 = 11 # Целочисленные значения
key4 = 3.14 # Вещественные значения
key5 = true # Булевые значения ("true", "1", "on", "yes")
key6 = 1,2,3,4,"5",6,7,8,9 # Список целочисленных значений
# Обычные
# Комментарии...
key7 = true, false # Список булевых значений.
# Могут быть:
# "true", "1", "on", "yes",
# "false", "0", "off", "no"
key8 = "foo" , "bar" # Список строковых зачений
key9 = # Пустое значение
key10 # Пустое значение
key11 = "" # Пустое значение
key12 = 1, 2, 3, 4, # Списки можно переносить на новую строку
5, 6, 7, 8 # И оставлять комментарии...
key13 = "value
value
value" # Значения в кавычках могут состоять из нескольких строк
key14 = "value[\"key\"]" # Кавычки в строках можно экранировать
key15 = ${TESTVARNAME} | "value" # Если значение переменной окружения не пустое место, иначе дефолтное значение
key16 = ${EMPTYVARNAME} | value
key17 = 1,2,3, ${EMPTYVARNAME} | 4, 5, 6
key18 = ${EMPTYVARNAMEONE} | ${EMPTYVARNAMETWO} | value
key19 = | value
key20 = "${TESTVARNAME}/src" # Переменные могут быть в строках
key21 = "${TESTVARNAME/src"
key22 = /var/${TESTVARNAME}/src # Или в строках без кавычек
key23 = \${TESTVARNAME} # Экранирование
package main
import (
"fmt"
"github.com/AlexanderGrom/componenta/config"
)
func main() {
cfg, _ := config.Use("${HOME}/config/database.conf")
fmt.Println(cfg.GetString("key1"))
fmt.Println(cfg.GetBool("key5"))
fmt.Println(cfg.GetInts("key5"))
fmt.Println(cfg.GetStrings("key7"))
}