Go library для формата TOML.
Эта библиотека поддерживает версию TOML [v0.2.0].
Go-toml предоставляет следующие возможности для использования данных, проанализированных из документов TOML:
Go-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. Любая обратная связь будет высоко оценена!
Вы должны убедиться, что выполняются два вида тестов:
Вы можете запустить их оба, используя ./test.sh
.
Copyright (c) 2013, 2014 Thomas Pelletier, Eric Anderton.
Настоящим предоставляется разрешение, бесплатно, любому лицу, получающему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), использовать Программное обеспечение без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Приведённое выше уведомление об авторских правах и это разрешение должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ В ОДНОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКАЮЩИЕ ИЗ, СВЯЗАННЫЕ С ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ В ОТНОШЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )