本文整理匯總了Golang中github.com/seefan/goerr.NewError函數的典型用法代碼示例。如果您正苦於以下問題:Golang NewError函數的具體用法?Golang NewError怎麽用?Golang NewError使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了NewError函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: slice
//返回下標處於區域 [begin, end] 的元素. begin 和 end 可以是負數
//
// name queue 的名字.
// begin 正整數, 從此下標處開始返回。從 0 開始。
// end 整數, 結束下標。可以是負數, 表示返回所有。
// [slice,range] 命令
// 返回 v,返回元素的數組,為空時返回 nil
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) slice(name string, args ...int) (v []Value, err error) {
begin := 0
end := -1
index := 0
if len(args) > 0 {
begin = args[0]
}
if len(args) > 1 {
end = args[1]
}
if len(args) > 2 {
index = args[2]
}
resp, err := this.Do(qslice_cmd[index], name, begin, end)
if err != nil {
return nil, goerr.NewError(err, "%s %s error", qslice_cmd[index], name)
}
size := len(resp)
if size >= 1 && resp[0] == "ok" {
for i := 1; i < size; i++ {
v = append(v, Value(resp[i]))
}
return
}
return nil, makeError(resp, name)
}
示例2: Expire
//設置過期
//
// key 要設置過期的 key
// ttl 存活時間(秒)
// 返回 re,設置是否成功,如果當前 key 不存在返回 false
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Expire(key string, ttl int64) (re bool, err error) {
resp, err := this.Do("expire", key, ttl)
if err != nil {
return false, goerr.NewError(err, "Expire %s error", key)
}
if len(resp) == 2 && resp[0] == "ok" {
return resp[1] == "1", nil
}
return false, makeError(resp, key, ttl)
}
示例3: Getset
//更新 key 對應的 value, 並返回更新前的舊的 value.
//
// key 鍵值
// val 存貯的 value 值,val隻支持基本的類型,如果要支持複雜的類型,需要開啟連接池的 Encoding 選項
// 返回 一個 Value,可以方便的向其它類型轉換.如果 key 不存在則返回 "", 否則返回 key 對應的值內容.
// 返回 一個可能的錯誤,操作成功返回 nil
func (this *Client) Getset(key string, val interface{}) (Value, error) {
resp, err := this.Do("getset", key, val)
if err != nil {
return "", goerr.NewError(err, "Getset %s error", key)
}
if len(resp) == 2 && resp[0] == "ok" {
return Value(resp[1]), nil
}
return "", makeError(resp, key)
}
示例4: Qback
//返回隊列的最後一個元素.
//
// key 隊列的名字
// 返回 val,返回的值.
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Qback(key string) (Value, error) {
resp, err := this.Do("qback", key)
if err != nil {
return "", goerr.NewError(err, "Qback %s error", key)
}
if len(resp) == 2 && resp[0] == "ok" {
return Value(resp[1]), nil
}
return "", makeError(resp, key)
}
示例5: Qget
//返回指定位置的元素. 0 表示第一個元素, 1 是第二個 ... -1 是最後一個.
//
// key 隊列的名字
// index 指定的位置,可傳負數.
// 返回 val,返回的值.
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Qget(key string, index int64) (Value, error) {
resp, err := this.Do("qget", key, index)
if err != nil {
return "", goerr.NewError(err, "Qget %s error", key)
}
if len(resp) == 2 && resp[0] == "ok" {
return Value(resp[1]), nil
}
return "", makeError(resp, key)
}
示例6: Hget
//獲取 hashmap 中指定 key 的值內容.
//
// setName hashmap 的名字
// key hashmap 的 key
// 返回 value key 的值
// 返回 err,執行的錯誤
func (this *Client) Hget(setName, key string) (value Value, err error) {
resp, err := this.Do("hget", setName, key)
if err != nil {
return "", goerr.NewError(err, "Hget %s/%s error", setName, key)
}
if len(resp) == 2 && resp[0] == "ok" {
return Value(resp[1]), nil
}
return "", makeError(resp, setName, key)
}
示例7: Hdel
//刪除 hashmap 中的指定 key,不能通過返回值來判斷被刪除的 key 是否存在.
//
// setName hashmap 的名字
// key hashmap 的 key
// 返回 err,執行的錯誤
func (this *Client) Hdel(setName, key string) (err error) {
resp, err := this.Do("hdel", setName, key)
if err != nil {
return goerr.NewError(err, "Hdel %s/%s error", setName, key)
}
if len(resp) > 0 && resp[0] == "ok" {
return nil
}
return makeError(resp, setName, key)
}
示例8: Zget
func (this *Client) Zget(setName, key string) (score int64, err error) {
resp, err := this.Do("zget", setName, key)
if err != nil {
return 0, goerr.NewError(err, "Zget %s/%s error", setName, key)
}
if len(resp) == 2 && resp[0] == "ok" {
return Value(resp[1]).Int64(), nil
}
return 0, makeError(resp, setName, key)
}
示例9: Setnx
//當 key 不存在時, 設置指定 key 的值內容. 如果已存在, 則不設置.
//
// key 鍵值
// val 存貯的 value 值,val隻支持基本的類型,如果要支持複雜的類型,需要開啟連接池的 Encoding 選項
// 返回 err,可能的錯誤,操作成功返回 nil
// 返回 val 1: value 已經設置, 0: key 已經存在, 不更新.
func (this *Client) Setnx(key string, val interface{}) (Value, error) {
resp, err := this.Do("setnx", key, this.encoding(val, false))
if err != nil {
return "", goerr.NewError(err, "Setnx %s error", key)
}
if len(resp) > 0 && resp[0] == "ok" {
return Value(resp[1]), nil
}
return "", makeError(resp, key)
}
示例10: Qsize
//返回隊列的長度.
//
// name 隊列的名字
// 返回 size,隊列的長度;
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Qsize(name string) (size int64, err error) {
resp, err := this.Do("qsize", name)
if err != nil {
return -1, goerr.NewError(err, "Qsize %s error", name)
}
if len(resp) == 2 && resp[0] == "ok" {
return Value(resp[1]).Int64(), nil
}
return -1, makeError(resp, name)
}
示例11: Hclear
//刪除 hashmap 中的所有 key
//
// setName hashmap 的名字
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Hclear(setName string) (err error) {
resp, err := this.Do("hclear", setName)
if err != nil {
return goerr.NewError(err, "Hclear %s error", setName)
}
if len(resp) > 0 && resp[0] == "ok" {
return nil
}
return makeError(resp, setName)
}
示例12: Zset
func (this *Client) Zset(setName, key string, score int64) (err error) {
resp, err := this.Do("zset", setName, key, this.encoding(score, false))
if err != nil {
return goerr.NewError(err, "Zset %s/%s error", setName, key)
}
if len(resp) > 0 && resp[0] == "ok" {
return nil
}
return makeError(resp, setName, key)
}
示例13: Hexists
//判斷指定的 key 是否存在於 hashmap 中.
//
// setName hashmap 的名字
// key hashmap 的 key
// 返回 re,如果當前 key 不存在返回 false
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Hexists(setName, key string) (re bool, err error) {
resp, err := this.Do("hexists", setName, key)
if err != nil {
return false, goerr.NewError(err, "Hexists %s/%s error", setName, key)
}
if len(resp) == 2 && resp[0] == "ok" {
return resp[1] == "1", nil
}
return false, makeError(resp, setName, key)
}
示例14: Hset
//設置 hashmap 中指定 key 對應的值內容.
//
// setName hashmap 的名字
// key hashmap 的 key
// value key 的值
// 返回 err,執行的錯誤
func (this *Client) Hset(setName, key string, value interface{}) (err error) {
resp, err := this.Do("hset", setName, key, this.encoding(value, false))
if err != nil {
return goerr.NewError(err, "Hset %s/%s error", setName, key)
}
if len(resp) > 0 && resp[0] == "ok" {
return nil
}
return makeError(resp, setName, key)
}
示例15: Ttl
//返回 key(隻針對 KV 類型) 的存活時間.
//
// key 要刪除的 key
// 返回 ttl,key 的存活時間(秒), -1 表示沒有設置存活時間.
// 返回 err,執行的錯誤,操作成功返回 nil
func (this *Client) Ttl(key string) (ttl int64, err error) {
resp, err := this.Do("ttl", key)
if err != nil {
return -1, goerr.NewError(err, "Ttl %s error", key)
}
//response looks like this: [ok 1]
if len(resp) > 0 && resp[0] == "ok" {
return Value(resp[1]).Int64(), nil
}
return -1, makeError(resp, key)
}