1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chaos.su-go-toml

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Go-toml

Go library для формата TOML.

Эта библиотека поддерживает версию TOML [v0.2.0].

GoDoc Build Status

Возможности

Go-toml предоставляет следующие возможности для использования данных, проанализированных из документов TOML:

  • Загрузка документов TOML из файлов и строковых данных;
  • Лёгкое перемещение по структуре TOML с помощью TomlTree;
  • Позиция строки и столбца для всех проанализированных элементов;
  • Поддержка запросов, аналогичная JSON-Path;
  • Синтаксические ошибки содержат номера строк и столбцов.

Go-toml разработан, чтобы помочь охватить случаи использования, не покрытые анализом отражения TOML:

  • Семантическая оценка проанализированного TOML;
  • Информирование пользователя об ошибках в исходном документе после его анализа;
  • Программная обработка значений по умолчанию в каждом конкретном случае;
  • Использование документа TOML в качестве гибкого хранилища данных.

Импорт

import "github.com/pelletier/go-toml"

Использование

Пример

Предположим, у вас есть файл TOML, который выглядит следующим образом:

[postgres]
user = "pelletier"
password = "mypassword"

Прочитайте имя пользователя и пароль следующим образом:

import (
    "fmt"
    "github.com/pelletier/go-toml"
)

config, err := toml.LoadFile("config.toml")
if err != nil {
    fmt.Println("Error ", err.Error())
} else {
    // извлекаем данные напрямую
    user := config.Get("postgres.user").(string)
    password := config.Get("postgres.password").(string)

    // или используя промежуточный объект
    configTree := config.Get("postgres").(*toml.TomlTree)
    user = configTree.Get("user").(string)
    password = configTree.Get("password").(string)
    fmt.Println("User is ", user, ". Password is ", password)

    // показываем, где элементы находятся в файле
    fmt.Println("Позиция пользователя: %v", configTree.GetPosition("user"))
    fmt.Println("Позиция пароля: %v", configTree.GetPosition("password"))

    // используем запрос для сбора элементов без перемещения по дереву
    results, _ := config.Query("$..[user,password]")
    for ii, item := range results.Values() {
      fmt.Println("Результат запроса %d: %v", ii, item)
    }
}

Документация

Документация и дополнительные примеры доступны на godoc.org.

Вклад

Не стесняйтесь сообщать об ошибках и патчах, используя систему запросов на вытягивание GitHub на pelletier/go-toml. Любая обратная связь будет высоко оценена!

Запуск тестов

Вы должны убедиться, что выполняются два вида тестов:

  1. Модульные тесты Go;
  2. Примеры базы TOML.

Вы можете запустить их оба, используя ./test.sh.

Лицензия

Copyright (c) 2013, 2014 Thomas Pelletier, Eric Anderton.

Настоящим предоставляется разрешение, бесплатно, любому лицу, получающему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), использовать Программное обеспечение без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:

Приведённое выше уведомление об авторских правах и это разрешение должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ В ОДНОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКАЮЩИЕ ИЗ, СВЯЗАННЫЕ С ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ В ОТНОШЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Go library for the TOML language Развернуть Свернуть
Go и 2 других языков
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chaos.su-go-toml.git
git@api.gitlife.ru:oschina-mirror/chaos.su-go-toml.git
oschina-mirror
chaos.su-go-toml
chaos.su-go-toml
orderedkeys