Bottle V1 API阅览

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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!