Goで使えるLevelDB。 syndtr/goleveldb ドキュメントはここです。
お試しコード
package main import ( "fmt" "log" "github.com/syndtr/goleveldb/leveldb" ) func main() { db := db_init() defer func(){ fmt.Println("Closing DB...") db.Close() }() val, err := db.Get([]byte("key"), nil) if err != nil { fmt.Println("Key is not exist") put(db, []byte("key"), []byte("hello")) val, err = db.Get([]byte("key"), nil) if err != nil { log.Fatal("get error") } } fmt.Printf("key is %s\n", string(val)) del(db, []byte("key")) } func db_init() *leveldb.DB { fmt.Println("open database") db, err := leveldb.OpenFile("./data/db", nil) if err != nil { log.Fatal("open error") } return db } func put(db *leveldb.DB, key []byte, value []byte) { fmt.Println("put to db") err := db.Put(key, value, nil) if err != nil { log.Fatal("put error") } } func del(db *leveldb.DB, key []byte) { fmt.Println("del from db") err := db.Delete(key, nil) if err != nil { log.Fatal("delete error") } }