func (r Record) GetString(column string) (string, error) {
	v, err := r.getKey(reflect.String, column)
	if err != nil {
		return "", err
	}
	return v.(string), nil
}
GetString returns a string value for a specific column.
package livestatus
import (
	"reflect"
	"sort"
	"time"
)
type Record map[string]interface{}
func (r Record) Len() int {
	return len(r)
}
func (r Record) Columns() []string {
	cols := []string{}
	for k := range r {
		cols = append(cols, k)
	}
	sort.Strings(cols)
	return cols
}
func (r Record) Get(column string) (interface{}, error) {
	v, ok := r[column]
	if !ok {
		return nil, ErrUnknownColumn
	}
	return v, nil
}
func (r Record) GetBool(column string) (bool, error) {
	v, err := r.getKey(reflect.Float64, column)
	if err != nil {
		return false, err
	}
	return v == 1.0, nil
}
func (r Record) GetFloat(column string) (float64, error) {
	v, err := r.getKey(reflect.Float64, column)
	if err != nil {
		return 0, err
	}
	return v.(float64), nil
}
func (r Record) GetInt(column string) (int64, error) {
	v, err := r.getKey(reflect.Float64, column)
	if err != nil {
		return 0, err
	}
	return int64(v.(float64)), nil
}
func (r Record) GetSlice(column string) ([]interface{}, error) {
	v, err := r.getKey(reflect.Slice, column)
	if err != nil {
		return nil, err
	}
	rv := reflect.ValueOf(v)
	n := rv.Len()
	out := make([]interface{}, n)
	for i := 0; i < n; i++ {
		out[i] = rv.Index(i).Interface()
	}
	return out, nil
}