Documentation
¶
Overview ¶
Package ttypes 定义特殊类型支持,比如日期类型, golang的日期类型在转换成json时不能指定日期的格式,ttypes.NormalDate 可以按照 DateFormat指定的格式输出到json中或者fmt.Println. sql包中的NullTime也不支持格式和json格式输出,对应的NilableDateTime支持。本包包括:
NormalDate 支持格式和json输出的日期类型, 格式由 DateFormat 变量指定 ¶
NormalDatetime 支持格式和json输出的时间类型,格式由 DatetimeFormat 指定 ¶
NilableDate 可以为空的日期类型,扩展 sql.NullTime, 支持格式及json输出,格式由 DateFormat 变量指定 ¶
NilableDatetime 可以为空的时间类型,扩展 sql.NullTime, 支持格式及json输出 ,格式由 DatetimeFormat 指定 ¶
NilableString, 可以为空的String类型,扩展 sql.NullString,支持json输出,提供与string的转换及其他字符串操作功能
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// DateFormat 指定日期格式
DateFormat = "2006-01-02"
)
var (
// DatetimeFormat 指定时间格式
DatetimeFormat = "2006-01-02 15:04:05"
)
Functions ¶
This section is empty.
Types ¶
type NilableDate ¶
NilableDate 可以为空的日期类型,扩展NullTime, 支持格式及json输出,格式由 DateFormat 变量指定,实现 fmt.Stringer, json.Unmarshaler, json.Marshaler 接口
func FromDate ¶
func FromDate(d time.Time) *NilableDate
FromDate 转换time.Time类型为 NilableDate 类型,返回值为指针,如果接收变量为 NilableDate 类型,需要使用加*号来解引用: *nilableDate
func (NilableDate) MarshalJSON ¶
func (d NilableDate) MarshalJSON() ([]byte, error)
MarshalJSON 实现 json.Marshaler 接口
func (*NilableDate) ToTimePointer ¶ added in v0.0.18
func (d *NilableDate) ToTimePointer() *time.Time
func (*NilableDate) UnmarshalJSON ¶
func (d *NilableDate) UnmarshalJSON(b []byte) error
UnmarshalJSON 实现 json.Unmarshaler
type NilableDatetime ¶
NilableDatetime 可以为空的时间类型,扩展 sql.NullTime, 支持格式及json输出,格式由 DatetimeFormat 变量指定
func FromDatetime ¶
func FromDatetime(d time.Time) *NilableDatetime
FromDatetime 转换 time.Time 类型为 NilableDatetime 类型,返回值为指针,如果接收变量为 NilableDatetime 类型,需要使用加*号来解引用: *nilableDatetime
func (NilableDatetime) MarshalJSON ¶
func (s NilableDatetime) MarshalJSON() ([]byte, error)
MarshalJSON 实现 json.Marshaler 接口
func (NilableDatetime) String ¶
func (ndt NilableDatetime) String() string
String 实现 fmt.Stringer 接口
func (*NilableDatetime) ToTimePointer ¶ added in v0.0.18
func (s *NilableDatetime) ToTimePointer() *time.Time
func (*NilableDatetime) UnmarshalJSON ¶
func (s *NilableDatetime) UnmarshalJSON(b []byte) error
UnmarshalJSON 实现 json.Unmarshaler
type NilableString ¶
type NilableString struct {
sql.NullString
}
NilableString 可以为空的string类型,扩展 sql.NullString, 支持友好的json输出,提供常用的操作函数
func FromString ¶
func FromString(s string) *NilableString
FromString 转换string类型为 NilableString 类型,返回值为指针,如果接收变量为 NilableString 类型,需要使用加*号来解引用: *nilableString
func (NilableString) MarshalText ¶ added in v0.0.15
func (s NilableString) MarshalText() ([]byte, error)
MarshalText 实现 encoding.TextMarshaler 接口
func (*NilableString) StringNilAsDefault ¶
func (s *NilableString) StringNilAsDefault(def string) string
StringNilAsDefault 返回当前对象包含的string值,如果当前对象是nil,返回 def 参数指定的字符串
func (*NilableString) StringNilAsEmpty ¶
func (s *NilableString) StringNilAsEmpty() string
StringNilAsEmpty 返回当前对象包含的string值,如果当前对象是nil,则返回""字符串
func (*NilableString) UnmarshalText ¶ added in v0.0.15
func (s *NilableString) UnmarshalText(b []byte) error
UnmarshalText 实现 encoding.TextUnmarshaler 接口
type NormalDate ¶
NormalDate 支持按日期格式输出的日期类型, 格式由 DateFormat 全局变量指定, 实现 fmt.Stringer, driver.Valuer, json.Unmarshaler, json.Marshaler 接口
func (NormalDate) MarshalJSON ¶
func (ndt NormalDate) MarshalJSON() ([]byte, error)
MarshalJSON 实现 json.Marshaler 接口
func (*NormalDate) ToTimePointer ¶ added in v0.0.18
func (ndt *NormalDate) ToTimePointer() *time.Time
func (*NormalDate) UnmarshalJSON ¶
func (ndt *NormalDate) UnmarshalJSON(b []byte) error
UnmarshalJSON 实现 json.Unmarshaler
type NormalDatetime ¶
NormalDatetime 支持按日期格式输出的日期类型, 格式由 DatetimeFormat 全局变量指定, 实现fmt.Stringer, driver.Valuer, json.Unmarshaler, json.Marshaler 接口
func (NormalDatetime) MarshalJSON ¶
func (ndt NormalDatetime) MarshalJSON() ([]byte, error)
MarshalJSON 实现 json.Marshaler 接口
func (*NormalDatetime) ToTimePointer ¶ added in v0.0.18
func (ndt *NormalDatetime) ToTimePointer() *time.Time
func (*NormalDatetime) UnmarshalJSON ¶
func (ndt *NormalDatetime) UnmarshalJSON(b []byte) error
UnmarshalJSON 实现 json.Unmarshaler