内容简介:package mainimport ("fmt"
package main
import (
"fmt"
"github.com/syndtr/goleveldb/leveldb"
)
func main() {
levelDB()
}
func levelDB() {
//定义字符数组key value
key := []byte("Test")
value := []byte("Test Level DB")
//定义字符串的键值对
k1 :="key"
v1 :="value"
// The returned DB instance is safe for concurrent use.
// The DB must be closed after use, by calling Close method.
//文件夹位置,获取db实例-设置数据库文件的位置
db, err := leveldb.OpenFile("path/to/db", nil)
//leveldb.
//延迟关闭db流,必须的操作
defer db.Close()
if err != nil {
fmt.Println(err)
}
//向db中插入键值对
e := db.Put(key, value, nil)
//将字符串转换为byte数组
e = db.Put([]byte(k1), []byte(v1), nil)
fmt.Println(e)//
/**
|| 注意:查看路径下的db文件,可知道文件都是自动切分为一些小文件.
*/
//根据key值查询value
data, _ := db.Get(key, nil)
fmt.Println(data)//[84 101 115 116 32 76 101 118 101 108 32 68 66]
fmt.Printf("%c\n",data)//[T e s t L e v e l D B]
data, _ = db.Get([]byte(k1), nil)
fmt.Println(data)//[118 97 108 117 101]
fmt.Printf("%c\n",data)//[v a l u e]
// It is safe to modify the contents of the arguments after Delete returns but
// not before.
//根据key进行删除操作
i := db.Delete(key, nil)
fmt.Println(i)//
data, _ = db.Get(key, nil)
fmt.Println(data)//[]
//
//获取db快照
snapshot, i := db.GetSnapshot()
fmt.Println(snapshot)//leveldb.Snapshot{22}
fmt.Println(i)//
//注意: The snapshot must be released after use, by calling Release method.
//也就是说snapshot在使用之后,必须使用它的Release方法释放!
snapshot.Release()
}
levelDB使用
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python机器学习
[美] Michael Bowles / 沙嬴、李鹏 / 人民邮电出版社 / 2016-12 / 69.00元
在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知 所措。本书从算法和Python 语言实现的角度,帮助读者认识机器学习。 书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来 展示所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。 本书主要针对想提......一起来看看 《Python机器学习》 这本书的介绍吧!