Хранить ключ/значения карты в постоянном файле

Я буду создавать структуру более или менее вида:

type FileState struct {
    LastModified int64
    Hash string
    Path string
}

Я хочу записывать эти значения в файл и считывать их при последующих вызовах. Мой первоначальный план состоит в том, чтобы читать их в карту и искать значения (Hash и LastModified), используя ключ (Path). Есть ли в Go хитрый способ сделать это?

Если нет, то какой формат файла вы можете порекомендовать? Я читал о некоторых файловых хранилищах ключей/значений и экспериментировал с ними в предыдущих проектах, но не с использованием Go. Сейчас мои требования, вероятно, довольно просты, поэтому большая серверная система баз данных была бы излишеством. Мне просто нужно что-то, что можно быстро, легко и портативно (Windows, Mac, Linux) записывать и читать. Поскольку мне придется развертывать систему на нескольких платформах, я стараюсь свести к минимуму количество не-go зависимостей.

Я рассматривал XML, CSV, JSON. Я бегло просмотрел пакет gob в Go и заметил пакет BSON на панели пакетов Go, но я не уверен, что они применимы.

Моя главная цель здесь - быстро запустить систему, что означает наименьшее количество кода, который мне нужно написать, а также простоту развертывания.

12
задан Nicolas Kaiser 29 April 2013 в 07:54
поделиться