k2hash_go implements a k2hash client in golang.
Firstly you must install the k2hash shared library.
$ curl -o- https://raw.github.com/hiwakaba/k2hash_go/master/utils/libk2hash.sh | bash
You can install k2hash library step by step from source code. See Build for details.
After you make sure you set the GOPATH environment, download the k2hash_go package.
$ go get -u github.com/hiwakaba/k2hash_go
Here is a simple example of k2hash_go which save a key and get it.
package main
import (
"fmt"
"os"
"github.com/hiwakaba/k2hash_go/k2hash"
)
func SetAndGet() {
// 1. Instantiate K2hash class
file, _ := k2hash.NewK2hash("/tmp/test.k2h")
defer file.Close()
ok, err := file.Set("hello", "world")
if ok != true {
fmt.Fprintf(os.Stderr, "file.Set(hello, world) returned false, err %v\n", err)
}
// 2. Get
// 2.1. no args
val, err := file.Get("hello")
if val == nil || err != nil {
fmt.Fprintf(os.Stderr, "file.Get(hello) returned val %v err %v\n", val, err)
return
}
fmt.Printf("val = %v, err = %v\n", val.String(), err)
}
func main() {
SetAndGet()
}
Here is the step to start developing k2hash_go.
- Debian / Ubuntu
#!/bin/sh
sudo apt-get update -y && sudo apt-get install curl git -y && curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.deb.sh | sudo bash
sudo apt-get install libfullock-dev k2hash-dev -y
go get github.com/hiwakaba/k2hash_go/k2hash
exit 0
- CentOS / Fedora
#!/bin/sh
sudo dnf makecache && sudo yum install curl git -y && curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.rpm.sh | sudo bash
sudo dnf install libfullock-devel k2hash-devel -y
go get github.com/hiwakaba/k2hash_go/k2hash
exit 0
MIT License. See the LICENSE file.
AntPickax is
- an open source team in Yahoo Japan Corporation.
- a product family of open source software developed by AntPickax.