Skip to content

yahoojapan/k2hash_go

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

k2hash_go

Overview

k2hash_go implements a k2hash client in golang.

Install

Firstly you must install the k2hash shared library.

$ curl -o- https://raw.github.com/yahoojapan/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/yahoojapan/k2hash_go

Usage

Here is a simple example of k2hash_go which save a key and get it.

package main

import (
        "fmt"
        "os"

        "github.com/yahoojapan/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()
}

Development

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/yahoojapan/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/yahoojapan/k2hash_go/k2hash

exit 0

Documents

License

MIT License. See the LICENSE file.

AntPickax

AntPickax is