Documentation
¶
Overview ¶
package kv provides basic key and value types.
Index ¶
- type Key
- func (k Key) Array(v interface{}) KeyValue
- func (k Key) Bool(v bool) KeyValue
- func (k Key) Defined() bool
- func (k Key) Float32(v float32) KeyValue
- func (k Key) Float64(v float64) KeyValue
- func (k Key) Int(v int) KeyValue
- func (k Key) Int32(v int32) KeyValue
- func (k Key) Int64(v int64) KeyValue
- func (k Key) String(v string) KeyValue
- func (k Key) Uint(v uint) KeyValue
- func (k Key) Uint32(v uint32) KeyValue
- func (k Key) Uint64(v uint64) KeyValue
- type KeyValue
- func Any(k string, value interface{}) KeyValue
- func Array(k string, v interface{}) KeyValue
- func Bool(k string, v bool) KeyValue
- func Float32(k string, v float32) KeyValue
- func Float64(k string, v float64) KeyValue
- func Int(k string, v int) KeyValue
- func Int32(k string, v int32) KeyValue
- func Int64(k string, v int64) KeyValue
- func String(k, v string) KeyValue
- func Stringer(k string, v fmt.Stringer) KeyValue
- func Uint(k string, v uint) KeyValue
- func Uint32(k string, v uint32) KeyValue
- func Uint64(k string, v uint64) KeyValue
- type Type
- type Value
- func ArrayValue(array interface{}) Value
- func BoolValue(v bool) Value
- func Float32Value(v float32) Value
- func Float64Value(v float64) Value
- func Int32Value(v int32) Value
- func Int64Value(v int64) Value
- func IntValue(v int) Value
- func StringValue(v string) Value
- func Uint32Value(v uint32) Value
- func Uint64Value(v uint64) Value
- func UintValue(v uint) Value
- func (v Value) AsArray() interface{}
- func (v Value) AsBool() bool
- func (v Value) AsFloat32() float32
- func (v Value) AsFloat64() float64
- func (v Value) AsInt32() int32
- func (v Value) AsInt64() int64
- func (v Value) AsInterface() interface{}
- func (v Value) AsString() string
- func (v Value) AsUint32() uint32
- func (v Value) AsUint64() uint64
- func (v Value) Emit() string
- func (v Value) MarshalJSON() ([]byte, error)
- func (v Value) Type() Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Key ¶
type Key string
Key represents the key part in key-value pairs. It's a string. The allowed character set in the key depends on the use of the key.
func (Key) Array ¶ added in v0.7.0
Array creates a KeyValue instance with a ARRAY Value.
If creating both key and a array value at the same time, then instead of calling kv.Key(name).String(value) consider using a convenience function provided by the api/key package - key.Array(name, value).
func (Key) Bool ¶
Bool creates a KeyValue instance with a BOOL Value.
If creating both key and a bool value at the same time, then instead of calling kv.Key(name).Bool(value) consider using a convenience function provided by the api/key package - key.Bool(name, value).
func (Key) Float32 ¶
Float32 creates a KeyValue instance with a FLOAT32 Value.
If creating both key and a float32 value at the same time, then instead of calling kv.Key(name).Float32(value) consider using a convenience function provided by the api/key package - key.Float32(name, value).
func (Key) Float64 ¶
Float64 creates a KeyValue instance with a FLOAT64 Value.
If creating both key and a float64 value at the same time, then instead of calling kv.Key(name).Float64(value) consider using a convenience function provided by the api/key package - key.Float64(name, value).
func (Key) Int ¶
Int creates a KeyValue instance with either an INT32 or an INT64 Value, depending on whether the int type is 32 or 64 bits wide.
If creating both key and an int value at the same time, then instead of calling kv.Key(name).Int(value) consider using a convenience function provided by the api/key package - key.Int(name, value).
func (Key) Int32 ¶
Int32 creates a KeyValue instance with an INT32 Value.
If creating both key and an int32 value at the same time, then instead of calling kv.Key(name).Int32(value) consider using a convenience function provided by the api/key package - key.Int32(name, value).
func (Key) Int64 ¶
Int64 creates a KeyValue instance with an INT64 Value.
If creating both key and an int64 value at the same time, then instead of calling kv.Key(name).Int64(value) consider using a convenience function provided by the api/key package - key.Int64(name, value).
func (Key) String ¶
String creates a KeyValue instance with a STRING Value.
If creating both key and a string value at the same time, then instead of calling kv.Key(name).String(value) consider using a convenience function provided by the api/key package - key.String(name, value).
func (Key) Uint ¶
Uint creates a KeyValue instance with either a UINT32 or a UINT64 Value, depending on whether the uint type is 32 or 64 bits wide.
If creating both key and a uint value at the same time, then instead of calling kv.Key(name).Uint(value) consider using a convenience function provided by the api/key package - key.Uint(name, value).
func (Key) Uint32 ¶
Uint32 creates a KeyValue instance with a UINT32 Value.
If creating both key and a uint32 value at the same time, then instead of calling kv.Key(name).Uint32(value) consider using a convenience function provided by the api/key package - key.Uint32(name, value).
type KeyValue ¶
KeyValue holds a key and value pair.
func Any ¶ added in v0.10.0
Any creates a new key-value pair instance with a passed name and automatic type inference. This is slower, and not type-safe.
func Array ¶ added in v0.7.0
Array creates a new key-value pair with a passed name and a array. Only arrays of primitive type are supported.
func Int ¶
Int creates a new key-value pair instance with a passed name and either an int32 or an int64 value, depending on whether the int type is 32 or 64 bits wide.
func Stringer ¶
Stringer creates a new key-value pair with a passed name and a string value generated by the passed Stringer interface.
func Uint ¶
Uint creates a new key-value pair instance with a passed name and either an uint32 or an uint64 value, depending on whether the uint type is 32 or 64 bits wide.
type Type ¶ added in v0.10.0
type Type int
Type describes the type of the data Value holds.
const ( INVALID Type = iota // No value. BOOL // Boolean value, use AsBool() to get it. INT32 // 32 bit signed integral value, use AsInt32() to get it. INT64 // 64 bit signed integral value, use AsInt64() to get it. UINT32 // 32 bit unsigned integral value, use AsUint32() to get it. UINT64 // 64 bit unsigned integral value, use AsUint64() to get it. FLOAT32 // 32 bit floating point value, use AsFloat32() to get it. FLOAT64 // 64 bit floating point value, use AsFloat64() to get it. STRING // String value, use AsString() to get it. ARRAY // Array value of arbitrary type, use AsArray() to get it. )
type Value ¶ added in v0.10.0
type Value struct {
// contains filtered or unexported fields
}
Value represents the value part in key-value pairs.
func ArrayValue ¶ added in v0.10.0
func ArrayValue(array interface{}) Value
Array creates an ARRAY value.
func Float32Value ¶ added in v0.10.0
Float32 creates a FLOAT32 Value.
func Float64Value ¶ added in v0.10.0
Float64Value creates a FLOAT64 Value.
func Int32Value ¶ added in v0.10.0
Int32Value creates an INT32 Value.
func Int64Value ¶ added in v0.10.0
Int64Value creates an INT64 Value.
func IntValue ¶ added in v0.10.0
Int creates either an INT32 or an INT64 Value, depending on whether the int type is 32 or 64 bits wide.
func Uint64Value ¶ added in v0.10.0
Uint64Value creates a UINT64 Value.
func UintValue ¶ added in v0.10.0
Uint creates either a UINT32 or a UINT64 Value, depending on whether the uint type is 32 or 64 bits wide.
func (Value) AsArray ¶ added in v0.10.0
func (v Value) AsArray() interface{}
AsArray returns the array Value as an interface{}.
func (Value) AsBool ¶ added in v0.10.0
AsBool returns the bool value. Make sure that the Value's type is BOOL.
func (Value) AsFloat32 ¶ added in v0.10.0
AsFloat32 returns the float32 value. Make sure that the Value's type is FLOAT32.
func (Value) AsFloat64 ¶ added in v0.10.0
AsFloat64 returns the float64 value. Make sure that the Value's type is FLOAT64.
func (Value) AsInt32 ¶ added in v0.10.0
AsInt32 returns the int32 value. Make sure that the Value's type is INT32.
func (Value) AsInt64 ¶ added in v0.10.0
AsInt64 returns the int64 value. Make sure that the Value's type is INT64.
func (Value) AsInterface ¶ added in v0.10.0
func (v Value) AsInterface() interface{}
AsInterface returns Value's data as interface{}.
func (Value) AsString ¶ added in v0.10.0
AsString returns the string value. Make sure that the Value's type is STRING.
func (Value) AsUint32 ¶ added in v0.10.0
AsUint32 returns the uint32 value. Make sure that the Value's type is UINT32.
func (Value) AsUint64 ¶ added in v0.10.0
AsUint64 returns the uint64 value. Make sure that the Value's type is UINT64.
func (Value) MarshalJSON ¶ added in v0.10.0
MarshalJSON returns the JSON encoding of the Value.