Pocket
LINEで送る

Goで使えるLevelDB。
syndtr/goleveldb
ドキュメントはここです。

参考:LevelDB入門 (基本編)

お試しコード

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")
    }
}
Pocket
LINEで送る

カテゴリー: プログラミング

コメントください

関連記事

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

プログラミング

Go – 2次関数のPNG画像作成

このライブラリをつかったら簡単にできる。 wcharczuk / go 続きを読む …

%d人のブロガーが「いいね」をつけました。