config

package
v0.0.0-...-b173b6e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2018 License: MIT Imports: 9 Imported by: 0

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"))
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrPathEmpty      = errors.New("config: path empty")
	ErrPathNotCorrect = errors.New("config: path not correct")
	ErrConfigDontRead = errors.New("config: config file don`t read")
)

Ошибки

View Source
var (
	ErrParseKey   = errors.New("config: parse error (key)")
	ErrParseQuote = errors.New("config: parse error (quote)")
)

Ошибки

Functions

This section is empty.

Types

type Config

type Config map[string]interface{}

Конфиг

func Reload

func Reload(path string) (Config, error)

Перезагрузка конфиг файла

func Use

func Use(path string) (Config, error)

Использование конкретного кофига

func (Config) Exists

func (self Config) Exists(name string) bool

Проверка на сущестование значения

func (Config) Get

func (self Config) Get(name string) interface{}

Вернет значение или nil если знаение не найдено

func (Config) GetBool

func (self Config) GetBool(name string) bool

Вернет буул

func (Config) GetBools

func (self Config) GetBools(name string) []bool

Вернет срез логических значений

func (Config) GetFloat

func (self Config) GetFloat(name string) float64

Вернет флоат

func (Config) GetFloats

func (self Config) GetFloats(name string) []float64

Вернет срез флоатов

func (Config) GetInt

func (self Config) GetInt(name string) int64

Вернет число

func (Config) GetInts

func (self Config) GetInts(name string) []int64

Вернет срез чисел

func (Config) GetSlice

func (self Config) GetSlice(name string) []interface{}

Вернет срез или nil если значение не найдено

func (Config) GetString

func (self Config) GetString(name string) string

Вернет строку

func (Config) GetStrings

func (self Config) GetStrings(name string) []string

Вернет срез строк

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL