Bottle V1 版本API预览
package main
import (
"fmt"
"github.com/auula/bottle"
)
func init() {
bottle.Open(bottle.Option{
// 工作目录
Directory: "./data",
// 单个文件大小
DataFileMaxSize: 10240,
})
}
type Userinfo struct {
Name string
Age uint8
Skill []string
}
func main() {
//// PUT Data
bottle.Put([]byte("foo"), []byte("66.6"))
// 如果转成string那么就是字符串
fmt.Println(bottle.Get([]byte("foo")).String())
// 如果不存在默认值就是0
fmt.Println(bottle.Get([]byte("foo")).Int())
// 如果不成功就是false
fmt.Println(bottle.Get([]byte("foo")).Bool())
// 如果不成功就是0.0
fmt.Println(bottle.Get([]byte("foo")).Float())
user := Userinfo{
Name: "Leon Ding",
Age: 22,
Skill: []string{"Java", "Go", "Rust"},
}
var u Userinfo
// 通过Bson保存数据对象,并且设置超时时间为5秒,TTL可设置可以不设置
// 所有Put操作就这个API
bottle.Put([]byte("user"), bottle.Bson(&user), bottle.TTL(5))
// 通过Unwrap解析出结构体
bottle.Get([]byte("user")).Unwrap(&u)
// 打印取值
fmt.Println(u)
// 删除一个key
bottle.Remove([]byte("foo"))
// 关闭处理一下可能发生的错误
if err := bottle.Close(); err != nil {
fmt.Println(err)
}
}
原文始发于微信公众号(TPaper):Bottle V1 API阅览
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/23636.html