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

OSCHINA-MIRROR/conero-inigo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 09:37 e7eccb4

inigo (библиотека для парсинга файлов Go INI)

  • @author Joshua Conero
  • @description Парсер файлов INI

Проектное управление

  • master Основная ветвь; доступна для скачивания пользователям
  • alpha Ветвь разработки (develop); при разработке программы непосредственно не используются изменения в master, а создаются отдельные ветви разработки, которые затем сливаются с основной ветью
  • demo Пример тестирования проекта;
  • document Документация проекта
  • v{n} Ветви исторических версий, хранящие историю

Проектирование

  • Parser Интерфейс парсера
    • BaseParser По умолчанию используется парсер INI файла
    • RongParser Парсер INI файла Rong
    • TomlParser Поддержка парсинга TOML файлов
  • FileParser Интерфейс парсера файла
  • StrParser Интерфейс строкового парсера

Базовый парсер

Поддерживает базовый парсинг файлов INI и простое расширение синтаксиса

Поддерживаемые типы


Интегрировано с особенностями языка Go

bool
b1 = true			// Независимо от регистра символов
b2 = false

int64
i = 56

float64
f64 = 78.455

string
s1 = строка, невалидные кавычки
s2 = 'можно использовать одинарные кавычки'
s3 = "можно использовать двойные кавычки"

array/slice
// Однострочный массив
inta = 1, 5, 4, 6, 7, 9
floata = 7.54, 6.24, 74.24
stra = tttt, kdjd, ddd
stra2 = "ffff,fff", 'hhhh', ttt
stra2 = "ffff,fff", 'hhhh', "ttt"
```map
// Простое двухуровневое ".опр." обращение, больше трех уровней недопустимо, как: map.c1.c2
// Этот синтаксис аналогичен конфигурационному файлу php.ini, также можно рассмотреть возможность использования ключевых слов
// map[interface{}]interface{}
m.name = обработка типа данных map
m.78 = 5555
```> Указание определения переменных/значений

```ini
; Определение переменной
$var = 85
author = Joshua Conero

str = "переменная равна : $var"     ; переменная равна : 85
str2 = 'переменная равна : $var'    ; переменная равна : $var
str3 = "текст равен : &author"      ; текст равен : Joshua Conero

Ветки

  • v0.x версия
    • Подробнее
    • Разработка: @20170119 - 20170424
    • v1.x версия (разработка)
    • Начало: 20171028 -> v2.x (версия)
      • После изучения языка Go, библиотека была переработана; большая часть дизайна проекта в v1.x была повлияна другими языками, полностью следуя стилю Go.

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

Установка

# GitHub
$ go get -u github.com/conero/inigo

Получение парсера

// Получение базового парсера (BaseParser)
ini := inigo.NewParser()

rong := inigo.NewParser("rong")
// или
rong2 := inigo.NewParser(map[string]interface{}{
    "driver": "rong",
})

v2.x (20180819 - )

v2.0 Первый выпуск второй версии, проект находится в разработке. В версии v2.1 система будет более стабильной.

Основные характеристики

  • Используется новый способ управления с помощью git; подробнее см. раздел «Проектное управление»
  • Для тестирования программы используются встроенные test-тесты на языке Go
  • Удалены ненужные директории, связанные с библиотеками, они перемещены в отдельные ветки

Среда разработки Go:

  • go@1.10
  • gogland
1
https://api.gitlife.ru/oschina-mirror/conero-inigo.git
git@api.gitlife.ru:oschina-mirror/conero-inigo.git
oschina-mirror
conero-inigo
conero-inigo
alpha