package common import ( "errors" ) type Slice []interface{} //获取string func (this Slice) GetString(key int, err ...*Error) string { if len(err) != 0 { err[0].SetError(nil) } return ObjToStr((this)[key]) } //获取Int func (this Slice) GetInt(key int, err ...*Error) int { v := ObjToInt((this)[key], err...) return v } //获取Int func (this Slice) GetInt64(key int, err ...*Error) int64 { v := ObjToInt64((this)[key], err...) return v } //获取向上取整Int64 func (this Slice) GetCeilInt64(key int, err ...*Error) int64 { v := ObjToCeilInt64((this)[key], err...) return v } //获取向上取整Int func (this Slice) GetCeilInt(key int, err ...*Error) int { v := ObjToCeilInt((this)[key], err...) return v } //获取向上取整float64 func (this Slice) GetCeilFloat64(key int, err ...*Error) float64 { v := ObjToCeilFloat64((this)[key], err...) return v } //获取Float64 func (this Slice) GetFloat64(key int, err ...*Error) float64 { v := ObjToFloat64((this)[key], err...) return v } func (this Slice) GetSlice(key int, err ...*Error) Slice { v := ObjToSlice((this)[key], err...) return v } func (this Slice) GetBool(key int, err ...*Error) bool { //var v Slice v := ObjToBool((this)[key], err...) return v } func (this Slice) GetMap(key int, err ...*Error) Map { //var v Map v := ObjToMap((this)[key], err...) return v } func (this Slice) Get(key int, err ...*Error) interface{} { if key < len(this) { return this[key] } e := errors.New("没有存储key及对应的数据") if len(err) != 0 { err[0].SetError(e) } return nil } func (this Slice) Put(key int, value interface{}) { this[key] = value } func (this Slice) ToJsonString() string { return ObjToStr(this) }