gox

package module
v1.8.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2022 License: Apache-2.0 Imports: 34 Imported by: 32

README

gox

Golang的基础库,提供各种便捷的方法,包括

  • 字符串
  • 配置
  • 时间处理
  • 基础类型

感谢

jetbrains-variant-4.png

Documentation

Index

Constants

View Source
const (
	// HeaderAcceptLanguage 可接受的语言
	HeaderAcceptLanguage = "Accept-Language"
	// HeaderContentType 请求数据类型
	HeaderContentType = "Content-Type"
	// HeaderAuthorization 授权
	HeaderAuthorization = "Authorization"
	// HeaderContentDisposition 下载时的附件名指定
	HeaderContentDisposition = "Content-disposition"

	// HttpMethodGet GET方法
	HttpMethodGet HttpMethod = "GET"
	// HttpMethodPost POST方法
	HttpMethodPost HttpMethod = "POST"
	// HttpMethodPut PUT方法
	HttpMethodPut HttpMethod = "PUT"
	// HttpMethodDelete DELETE方法
	HttpMethodDelete HttpMethod = "DELETE"
	// HttpMethodPatch PATCH方法
	HttpMethodPatch HttpMethod = "PATCH"
	// HttpMethodHead HEAD方法
	HttpMethodHead HttpMethod = "HEAD"
	// HttpMethodOptions OPTIONS方法
	HttpMethodOptions HttpMethod = "OPTIONS"
)
View Source
const (
	// DefaultTimeLayout 默认的时间布局
	DefaultTimeLayout = "2006-01-02 15:04:05"

	// Day 一天
	Day = 24 * time.Hour
	// Week 一周
	Week = 7 * Day
	// Month 一个月
	Month = 30 * Day
	// Year 一年
	Year = 365 * Day
)

Variables

View Source
var (
	// Separate nested key components with dots, e.g. "a.b.1.c.d"
	DotStyle = SeparatorStyle{Middle: "."}

	// Separate with path-like slashes, e.g. a/b/1/c/d
	PathStyle = SeparatorStyle{Middle: "/"}

	// Separate ala Rails, e.g. "a[b][c][1][d]"
	RailsStyle = SeparatorStyle{Before: "[", After: "]"}

	// Separate with underscores, e.g. "a_b_1_c_d"
	UnderscoreStyle = SeparatorStyle{Middle: "_"}
)

Default styles

View Source
var NotValidInputError = errors.New("Not a valid input: map or slice")

Nested input must be a map or slice

View Source
var NotValidJsonInputError = errors.New("Not a valid input, must be a map")

JSON nested input must be a map

View Source
var WeekdayCN = []string{
	"周日",
	"周一",
	"周二",
	"周三",
	"周四",
	"周五",
	"周六",
}

WeekdayCN 中文的星期几

Functions

func Atoi

func Atoi(num string, base int) int64

Atoi 增强版进制转换,支持任意进制,最大76进制

func CamelName

func CamelName(name string) string

CamelName 下划线写法转为驼峰写法

func CheckPasswordHash

func CheckPasswordHash(password, hash string) bool

CheckPasswordHash 检查密码的正确性

func ContentDisposition

func ContentDisposition(filename string, dispositionType ContentDispositionType) (disposition string)

ContentDisposition 解决附件下载乱码

func Contract

func Contract(separator string, contracts ...string) (result string)

Contract 字符串连接

func CopyStruct

func CopyStruct(from interface{}, to interface{}, opts ...mapstructOption) (err error)

CopyStruct 复制结构体数据

func Data

func Data(fields ...Field) *optionData

Data 配置额外信息

func DisableSquash

func DisableSquash() *optionSquash

DisableSquash 关闭嵌套

func EnableSquash

func EnableSquash() *optionSquash

EnableSquash 开启嵌套

func Flatten

func Flatten(nested map[string]interface{}, prefix string, style SeparatorStyle) (map[string]interface{}, error)

Flatten generates a flat map from a nested one. The original may include values of type map, slice and scalar, but not struct. Keys in the flat map will be a compound of descending map keys and slice iterations. The presentation of keys is set by style. A prefix is joined to each key.

func FlattenString

func FlattenString(nestedStr, prefix string, style SeparatorStyle) (string, error)

FlattenString generates a flat JSON map from a nested one. Keys in the flat map will be a compound of descending map keys and slice iterations. The presentation of keys is set by style. A prefix is joined to each key.

func FormatInt

func FormatInt(num int64, base int) string

FormatInt 增强版进制转换,最大支持76进制

func Gid

func Gid() (id uint64)

Gid 当前协程编号

func HashPassword

func HashPassword(password string) (string, error)

HashPassword 生成密码

func HashPasswordWithCost

func HashPasswordWithCost(password string, cost int) (string, error)

HashPasswordWithCost 生成密码

func InitialLowercase

func InitialLowercase(from string) (to string)

InitialLowercase 首字母小写

func IsInArray

func IsInArray(val interface{}, array interface{}) (exists bool, index int)

IsInArray 通用的判断数据是否在数组中

func JSONInit

func JSONInit(db *sql.DB, initializer JSONInitializer, table string, field string) (err error)

JSONInit JSON字段初始化

func JSONString

func JSONString(obj interface{}) string

JSONString 转换成JSON字符串

func MapToStruct

func MapToStruct(model map[string]interface{}, obj interface{}, opts ...mapstructOption) (err error)

MapToStruct Map转换成结构体

func Md5

func Md5(from string) (to string, err error)

Md5 将字符串加密成Md5字符串

func MySQLJsonInit

func MySQLJsonInit(
	table string, filed string,
	conditionFiled string, conditionValue interface{},
	initField string, initFieldValue interface{},
	paths ...string,
) (sql string, err error)

MySQLJsonInit JSON初始化

func MySQLJsonUpdate

func MySQLJsonUpdate(
	table string, filed string,
	conditionFiled string, conditionValue interface{},
	data map[string]interface{},
) (sql string, err error)

MySQLJsonUpdate 生成MySQL JSON增量更新SQL语句的快捷方式

func MySQLJsonUpdateWithConfig

func MySQLJsonUpdateWithConfig(
	table string, filed string,
	conditionFiled string, conditionValue interface{},
	data map[string]interface{},
	prefix string, style SeparatorStyle,
) (sql string, err error)

MySQLJsonUpdateWithConfig 生成MySQL JSON增量更新SQL语句

func NewCodeException

func NewCodeException(code int) *codeException

NewCodeException 创建异常

func NewException

func NewException(code int, message string, fields ...Field) *exception

NewException 创建异常

func NewFieldException

func NewFieldException(message string, field Field) *fieldException

NewFieldException 创建错误

func NewFieldsException

func NewFieldsException(message string, fields ...Field) *fieldsException

NewFieldsException 创建错误

func NewJSONSyntaxError

func NewJSONSyntaxError(original []byte) error

NewJSONSyntaxError 创建一个JSON语法错误

func NewMessageException

func NewMessageException(message string) *messageException

NewMessageException 创建异常

func NewPage

func NewPage(items interface{}, total int64, opts ...pageOption) *page

NewPage 生成新的分页数据对象

func Page

func Page(page int32) *optionPage

Page 配置页数

func ParsePackageName

func ParsePackageName(domain string) (name string)

ParsePackageName 从域名解析出包名

func RandCode

func RandCode() string

RandCode 生成随机验证码

func RandDigit

func RandDigit(length int) string

RandDigit 生成随机数字字符串

func RandString

func RandString(length int) string

RandString 生成随时字符串

func RenderToFile

func RenderToFile(filename string, input string, data interface{}, isFile bool) (err error)

RenderToFile 渲染模板到文件

func SearchString

func SearchString(slice []string, s string) int

SearchString 字符串查询

func Sha256Hmac

func Sha256Hmac(data string, secret string) (sha string, err error)

Sha256Hmac 计算SHA256加密

func Size

func Size(size int32) *optionSize

Size 配置大小

func Squash

func Squash(squash bool) *optionSquash

Squash 配置是否嵌套

func StructToMap

func StructToMap(obj interface{}, opts ...mapstructOption) (model map[string]interface{}, err error)

StructToMap 结构体转换成Map

func SymmetricKey

func SymmetricKey(bits uint) (key []byte, err error)

SymmetricKey 生成对称加密算法密钥

func Tag

func Tag(tag string) *optionTag

Tag 配置标签名称

func TruncateDay

func TruncateDay(t time.Time) time.Time

func TruncateUnix

func TruncateUnix(timestamp int64) int64

func UnZip

func UnZip(zipFileName, destFileName string) (err error)

解压

func UnderscoreName

func UnderscoreName(name string, upperInitial bool) string

UnderscoreName 驼峰式写法转为下划线写法

func ZeroFields

func ZeroFields(zeroFields bool) *optionZeroFields

ZeroFields 配置处理零值

func Zip

func Zip(destFileName string, zipFileNames ...string) (err error)

Zip 压缩文件

Types

type AuthConfig

type AuthConfig struct {
	// Type 授权类型
	Type AuthType `default:"type" json:"type" yaml:"type" validate:"oneof=basic token"`
	// Username 用户名
	Username string `json:"username" yaml:"username"`
	// Password 密码
	Password string `json:"password" yaml:"password"`
	// Token 授权码
	Token string `json:"token" yaml:"token"`
	// Scheme 身份验证方案类型
	Scheme string `json:"scheme" yaml:"scheme"`
}

AuthConfig 授权信息

type AuthType

type AuthType string

AuthType 授权类型

const (
	// AuthTypeBasic 基本Http授权验证
	AuthTypeBasic AuthType = "basic"
	// AuthTypeToken 基本传Token的授权验证
	AuthTypeToken AuthType = "token"
)

type BaseStruct

type BaseStruct struct {
	IdStruct      `xorm:"extends"`
	CreatedStruct `xorm:"extends"`
	UpdatedStruct `xorm:"extends"`
}

BaseStruct 基础数据库模型

type BaseTag

type BaseTag struct {
	// contains filtered or unexported fields
}

BaseTag Tag基础

func (*BaseTag) Contains

func (tag *BaseTag) Contains(option string) (contains bool)

Contains 判断Tag是否包含某个属性

type BaseUser

type BaseUser struct {
	BaseStruct `xorm:"extends"`

	// 用户名
	Username String `xorm:"varchar(32) notnull default('') unique(uidx_name)" json:"username" validate:"omitempty,min=1,max=32,email"`
	// 手机号
	// 类似于+86-17089792784
	Phone String `xorm:"varchar(15) notnull default('') unique(uidx_phone)" json:"phone" validate:"omitempty,mobile"`
	// 密码
	Pwd string `xorm:"varchar(512) notnull default('')" json:"-"`
}

BaseUser 基础用户数据

type CannotCompare

type CannotCompare [0]func()

CannotCompare 不能比较

type CannotCopy

type CannotCopy [0]sync.Mutex

CannotCopy 不能复制

type CertificateConfig

type CertificateConfig struct {
	// 是否跳过TLS检查
	Skip bool `default:"true" json:"skip" yaml:"skip"`
	// 根秘钥文件路径
	Root string `json:"root" yaml:"root" validate:"required,file"`
	// 客户端
	Clients []ClientCertificate `json:"clients" yaml:"clients" validate:"structonly"`
}

CertificateConfig 秘钥

type Checksum

type Checksum struct {
	// Sum 校验字符串
	Sum string `json:"sum" validate:"required"`
	// Type 类型
	Type ChecksumType `json:"type" validate:"required,oneof=crc32 crc64 sha1 sha256"`
}

Checksum 数据校验

type ChecksumType

type ChecksumType string

ChecksumType 数据校验合类型

const (
	// ChecksumTypeCrc32 Crc32
	ChecksumTypeCrc32 ChecksumType = "crc32"
	// ChecksumTypeCrc64 Crc64
	ChecksumTypeCrc64 ChecksumType = "crc64"
	// ChecksumTypeSha1 Crc64
	ChecksumTypeSha1 ChecksumType = "sha1"
	// ChecksumTypeSha256 Crc64
	ChecksumTypeSha256 ChecksumType = "sha256"
)

type ClientCertificate

type ClientCertificate struct {
	// 公钥文件路径
	Public string `json:"public" yaml:"public" validate:"required,file"`
	// 私钥文件路径
	Private string `json:"private" yaml:"private" validate:"required,file"`
}

ClientCertificate 客户端秘钥

type Code

type Code int

Code 消息代码

type CodeException

type CodeException interface {
	// Code 返回错误码
	Code() int
}

CodeException 带状态码的错误

type CodeMessage

type CodeMessage struct {
	// 消息代码
	Code Code `json:"code"`
	// 消息标题
	// 通常是模板字符串
	Title *string `json:"title"`
	// 消息内容
	// 通常是模板字符串
	Text *string `json:"text,omitempty"`
}

CodeMessage 带消息代码的消息

func NewCodeMessage

func NewCodeMessage(code Code, title, text string) *CodeMessage

NewCodeMessage 创建消息

func (CodeMessage) ParseText

func (cm CodeMessage) ParseText(params ...interface{}) CodeMessage

ParseText 格式化输出Text,并返回新的消息对象

func (CodeMessage) ParseTitle

func (cm CodeMessage) ParseTitle(params ...interface{}) CodeMessage

ParseTitle 格式化输出Title,并返回新的消息对象

func (CodeMessage) String

func (cm CodeMessage) String() string

String 以字符串的形式打印

func (CodeMessage) ToCode

func (cm CodeMessage) ToCode() Code

ToCode 返回消息代码

type ContentDispositionType

type ContentDispositionType string

ContentDispositionType 下载类型

const (
	// ContentDispositionTypeAttachment 附件下载
	ContentDispositionTypeAttachment ContentDispositionType = "attachment"
	// ContentDispositionTypeInline 浏览器直接打开
	ContentDispositionTypeInline ContentDispositionType = "inline"
)

type CreatedStruct

type CreatedStruct struct {
	// 创建时间
	Created time.Time `xorm:"created default('2020-02-04 09:55:52')" json:"created"`
}

CreatedStruct 带创建时间模型

type Debug

type Debug bool

Debug 是否处于调试模式

type DeletedStruct

type DeletedStruct struct {
	// 删除时间,用户软删除
	Deleted time.Time `xorm:"deleted default('2020-02-04 09:55:52')" json:"deleted"`
}

DeletedStruct 软删除模型

type Duration

type Duration time.Duration

Duration 弥补标准库不能使用ParseDuration

func (*Duration) Duration

func (d *Duration) Duration() time.Duration

Duration 转换成time.Duration

func (Duration) MarshalJSON

func (d Duration) MarshalJSON() ([]byte, error)

MarshalJSON 编码成JSON

func (*Duration) UnmarshalJSON

func (d *Duration) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON 解析JSON

type EmailConfig

type EmailConfig struct {
	// 主机
	Host string `validate:"required"`
	// 端口
	Port int `validate:"required"`
	// 用户名
	Username string `validate:"required"`
	// 密码
	Password string `validate:"required"`
	// 发送者名字
	Name string `validate:"required"`
	// 发送者邮件地址
	From string `validate:"required,email"`
}

EmailConfig 邮箱配置

type Environment

type Environment string

Environment 环境类型

const (
	// EnvironmentDev 开发
	EnvironmentDev Environment = "dev"
	// EnvironmentTest 测试
	EnvironmentTest Environment = "test"
	// EnvironmentQa 测试
	EnvironmentQa Environment = "qa"
	// EnvironmentRelease 发布环境
	EnvironmentRelease Environment = "release"
	// EnvironmentProd 生产
	EnvironmentProd Environment = "prod"
	// EnvironmentLocal 本地环境
	EnvironmentLocal Environment = "local"
	// EnvironmentSimulation 模拟请求(不发真实请求到服务器)
	EnvironmentSimulation Environment = "simulation"
)

type Exception

type Exception interface {
	CodeException
	MessageException
	FieldsException
}

Exception 接口,符合条件的错误统一处理

type Field

type Field interface {
	Key
	Value
}

Field 用于描述一个字段(即键值对)

type FieldException

type FieldException interface {
	MessageException

	// Field 返回错误实体
	// 在某些错误下,可能需要返回额外的信息给前端处理
	// 比如,认证错误,需要返回哪些字段有错误
	Field() Field
}

type Fields

type Fields []Field

Fields 字段列表

func (Fields) Connect

func (f Fields) Connect(field Field) (new Fields)

Connect 连接其它字段

func (Fields) Connects

func (f Fields) Connects(fields ...fields) (new Fields)

Connects 连接其它字段

func (Fields) Fields

func (f Fields) Fields() Fields

Fields 支持自身连写

func (Fields) String

func (f Fields) String() string

type FieldsException

type FieldsException interface {
	MessageException

	// Fields 返回错误实体
	// 在某些错误下,可能需要返回额外的信息给前端处理
	// 比如,认证错误,需要返回哪些字段有错误
	Fields() Fields
}

type Float64s

type Float64s []float64

Float64s 浮点型列表

func (Float64s) MarshalJSON

func (f Float64s) MarshalJSON() (bytes []byte, err error)

func (*Float64s) UnmarshalJSON

func (f *Float64s) UnmarshalJSON(bytes []byte) (err error)

func (*Float64s) UnmarshalParam

func (f *Float64s) UnmarshalParam(src string) (err error)

type HttpHeader

type HttpHeader struct {
	// contains filtered or unexported fields
}

HttpHeader Http请求头

func NewHttpHeader

func NewHttpHeader(key string, value string) *HttpHeader

NewHttpHeader 创建一个Http请求头

func (*HttpHeader) Key

func (hh *HttpHeader) Key() string

func (*HttpHeader) Type

func (hh *HttpHeader) Type() HttpParameterType

func (*HttpHeader) Value

func (hh *HttpHeader) Value() string

type HttpMethod

type HttpMethod string

HttpMethod Http方法

type HttpParameter

type HttpParameter interface {
	// Type 类型
	Type() HttpParameterType
	// Key 键
	Key() string
	// Value 值
	Value() string
}

HttpParameter Http额外参数接口

type HttpParameterType

type HttpParameterType string

HttpParameterType Http额外参数类型

const (
	// HttpParameterTypeHeader 请求头
	HttpParameterTypeHeader HttpParameterType = "header"
	// HttpParameterTypePathParameter 路径参数
	HttpParameterTypePathParameter HttpParameterType = "path"
)

type HttpPathParameter

type HttpPathParameter struct {
	// contains filtered or unexported fields
}

HttpPathParameter Http路径参数

func NewHttpPathParameter

func NewHttpPathParameter(key string, value string) *HttpPathParameter

NewHttpPathParameter 创建一个Http路径参数

func (*HttpPathParameter) Key

func (hh *HttpPathParameter) Key() string

func (*HttpPathParameter) Type

func (*HttpPathParameter) Value

func (hh *HttpPathParameter) Value() string

type Id

type Id int64

Id 表示雪花算法生成出来的编号

func ParseBase64

func ParseBase64(str string) (id Id, err error)

ParseBase64 从Base64字符串中解析编号

func ParseBytes

func ParseBytes(bytes []byte) (id Id, err error)

ParseBytes 从二进制数组里面获得编号

func ParseInt64

func ParseInt64(id int64) Id

ParseInt64 从整形获得编号

func ParseIntBytes

func ParseIntBytes(id [8]byte) Id

ParseIntBytes 从二进制数组获得编号

func ParseString

func ParseString(str string) (id Id, err error)

ParseString 从十进制字符串解析编号

func (Id) Base64

func (i Id) Base64() string

Base64 返回编号的Base64字符串

func (Id) Bytes

func (i Id) Bytes() []byte

Bytes 返回二进制数组表示形式

func (Id) Int64

func (i Id) Int64() int64

Int64 返回整形形式

func (Id) IntBytes

func (i Id) IntBytes() [8]byte

IntBytes 返回8位二进制表示形式

func (Id) MarshalJSON

func (i Id) MarshalJSON() ([]byte, error)

func (Id) Node

func (i Id) Node() int64

Node 返回节点数

func (Id) Step

func (i Id) Step() int64

Step 返回当前自增数量

func (Id) String

func (i Id) String() string

String 返回编号的字符串形式

func (Id) Time

func (i Id) Time() int64

Time 返回时间

func (*Id) UnmarshalJSON

func (i *Id) UnmarshalJSON(data []byte) (err error)

type IdStruct

type IdStruct struct {
	// Id 编号
	Id int64 `xorm:"pk notnull unique index('idx_id') default(0)" json:"id,string"`
}

IdStruct 带序列号的模型

func (*IdStruct) Exists

func (is *IdStruct) Exists() bool

Exists 对象是否存在

func (*IdStruct) IdString

func (is *IdStruct) IdString() string

IdString Id的字符串形式

type Int64s

type Int64s []int64

Int64s 长整形列表

func (Int64s) MarshalJSON

func (s Int64s) MarshalJSON() (bytes []byte, err error)

func (*Int64s) UnmarshalJSON

func (s *Int64s) UnmarshalJSON(bytes []byte) (err error)

func (*Int64s) UnmarshalParam

func (s *Int64s) UnmarshalParam(src string) (err error)

type JSONFielder

type JSONFielder interface {
	// InitializeField 初始化字段
	InitializeField() string
}

JSONFielder JSON字段

type JSONInitialized

type JSONInitialized struct {
	// Initialized 是否初始化
	Initialized bool `json:"initialized,omitempty"`
}

JSONInitialized JSON是否初始化

func (JSONInitialized) InitializeField

func (ji JSONInitialized) InitializeField() string

func (JSONInitialized) IsInitialized

func (ji JSONInitialized) IsInitialized() bool

type JSONInitializer

type JSONInitializer interface {
	// InitSQL 初始化SQL
	InitSQL(table string, field string) (string, error)
	// IsInitialized 是否已经初始化完成
	IsInitialized() bool
}

JSONInitializer JSON初始化者

type JSONSyntaxError

type JSONSyntaxError struct {
	// contains filtered or unexported fields
}

JSONSyntaxError JSON语法错误

func (JSONSyntaxError) Error

func (j JSONSyntaxError) Error() string

type Key

type Key interface {
	// Key 键值
	Key() string
}

Key 键

type MapStruct

type MapStruct interface {
	// StructToMap 转换成Map
	StructToMap() (model map[string]interface{}, err error)
	// MapToStruct 转换成结构体
	MapToStruct(model map[string]interface{}) (err error)
}

MapStruct Map和结构体转换

type MessageException

type MessageException interface {
	// Message 返回错误消息
	Message() string
}

MessageException 带消息的错误

type NamedTag

type NamedTag struct {
	BaseTag
	// contains filtered or unexported fields
}

NamedTag 描述Golang的Tag标记

func NewNamedTag

func NewNamedTag(tagString string) *NamedTag

NewTag 创建新Tag

func (*NamedTag) GetName

func (tag *NamedTag) GetName() string

GetName 获得Tag的名称

type NodeId

type NodeId int64

NodeId 表示一个节点的编号

type Paging

type Paging struct {
	// 当前页
	Page int `default:"1" json:"page" param:"page" query:"page" form:"page" xml:"page" validate:"min=1"`
	// 每页个数
	Size int `default:"20" json:"size" param:"size" query:"size" form:"size" xml:"size" validate:"min=1"`
	// 查询关键字
	Keyword string `json:"keyword" param:"keyword" query:"keyword" form:"keyword" xml:"keyword" `
	// 排序顺序
	Order string `` /* 158-byte string literal not displayed */
}

Paging 分页对象

func (*Paging) Limit

func (p *Paging) Limit() int

Limit 获得限制个数

func (*Paging) MySQL

func (p *Paging) MySQL() (start int, offset int)

MySQL 获得MySQL需要的分页参数

func (*Paging) OrderBy

func (p *Paging) OrderBy(sorter Sorter) string

OrderBy 排序字符串

func (*Paging) Start

func (p *Paging) Start() int

Start 获得开始下标

type ProxyConfig

type ProxyConfig struct {
	// Host 主机(可以是Ip或者域名)
	Host string `json:"ip" yaml:"ip" validate:"required"`
	// Port 端口
	Port int `default:"80" json:"port" yaml:"port" validate:"required"`
	// Scheme 代理类型
	Scheme URIScheme `default:"scheme" json:"scheme" yaml:"type" validate:"required,oneof=socks4 socks5 http https"`
	// Username 代理认证用户名
	Username string `json:"username" yaml:"username"`
	// Password 代理认证密码
	Password string `json:"password" yaml:"password"`
}

ProxyConfig 代理配置

func (*ProxyConfig) Addr

func (p *ProxyConfig) Addr() (addr string)

type Secret

type Secret struct {
	// 授权,相当于用户名
	Id string `json:"id" yaml:"id" validate:"required"`
	// 授权,相当于密码
	Key string `json:"key" yaml:"key" validate:"required"`
}

Secret 描述一个第三方应用授权

func (*Secret) CacheKey

func (s *Secret) CacheKey() string

type SeparatorStyle

type SeparatorStyle struct {
	Before string // Prepend to key
	Middle string // Add between keys
	After  string // Append to key
}

The style of keys. If there is an input with two nested keys "f" and "g", with "f" at the root,

{ "f": { "g": ... } }

the output will be the concatenation

f{Middle}{Before}g{After}...

Any struct element may be blank. If you use Middle, you will probably leave Before & After blank, and vice-versa. See examples in flatten_test.go and the "Default styles" here.

type Snowflake

type Snowflake struct {
	// contains filtered or unexported fields
}

Snowflake 雪花生成器

func NewSnowflake

func NewSnowflake(node NodeId) (snowflake *Snowflake, err error)

NewSnowflake 创建一个雪花生成器

func (*Snowflake) Next

func (s *Snowflake) Next() (id Id)

Next 返回下一个编号

func (*Snowflake) NextId

func (s *Snowflake) NextId() int64

NextId 下一个长整形Id

func (*Snowflake) NextString

func (s *Snowflake) NextString() string

NextString 下一个字符串形式的Id

type SoftDeleteStruct

type SoftDeleteStruct struct {
	BaseStruct    `xorm:"extends"`
	DeletedStruct `xorm:"extends"`
}

SoftDeleteStruct 带软删除功能的数据库模型

type Sorter

type Sorter interface {
	// SortField 排序字段
	SortField() string
}

Sorter 排序

type String

type String string

func (*String) FromDB

func (s *String) FromDB(bytes []byte) error

func (String) ToDB

func (s String) ToDB() ([]byte, error)

type StringSlice

type StringSlice []string

func (*StringSlice) UnmarshalParam

func (ss *StringSlice) UnmarshalParam(src string) error

type Tagger

type Tagger interface {
	Contains(option string) (contains bool)
}

Tagger 支持Tag的接口

type Timestamp

type Timestamp time.Time

Timestamp 时间戳

func Now

func Now() Timestamp

Now 当前时间

func ParseTimestamp

func ParseTimestamp(time time.Time) Timestamp

ParseTimestamp 从Time对象生成Timestamp

func ZeroTimestamp

func ZeroTimestamp() Timestamp

ZeroTimestamp 0值

func (Timestamp) DayEnd

func (t Timestamp) DayEnd() Timestamp

DayEnd 转换为当天23点59分59秒的Timestamp

func (Timestamp) DayStart

func (t Timestamp) DayStart() Timestamp

DayStart 转换为当天0点0分0秒的Timestamp

func (Timestamp) DefaultTimeLayout

func (t Timestamp) DefaultTimeLayout() string

DefaultTimeLayout 按默认时间布局转换为字符串

func (*Timestamp) Format

func (t *Timestamp) Format() string

Format 格式化字符串

func (*Timestamp) GobDecode

func (t *Timestamp) GobDecode(data []byte) (err error)

GobDecode Gob序列化解码

func (Timestamp) GobEncode

func (t Timestamp) GobEncode() ([]byte, error)

GobEncode Gob序列化编码

func (Timestamp) IsZero

func (t Timestamp) IsZero() bool

IsZero 是否是零值

func (Timestamp) MarshalJSON

func (t Timestamp) MarshalJSON() ([]byte, error)

MarshalJSON 序列化成JSON时调用

func (Timestamp) Time

func (t Timestamp) Time() time.Time

Time 取得真实的Time对象

func (*Timestamp) UnmarshalJSON

func (t *Timestamp) UnmarshalJSON(b []byte) error

UnmarshalJSON 反序列化成JSON时调用

func (*Timestamp) UnmarshalParam

func (t *Timestamp) UnmarshalParam(src string) error

UnmarshalParam 从Echo参数转换

type URIScheme

type URIScheme string

URIScheme 协议

const (
	// URISchemeUnknown 未知协议
	URISchemeUnknown URIScheme = ``
	// URISchemeSocksV4 Socks协议
	URISchemeSocksV4 URIScheme = `socks4`
	// URISchemeSocksV5 Socks协议
	URISchemeSocksV5 URIScheme = `socks4`
	// URISchemeHttp Http协议
	URISchemeHttp URIScheme = `http`
	// URISchemeHttps Https协议
	URISchemeHttps URIScheme = `https`
	// URISchemeRtmp Rtmp协议
	URISchemeRtmp URIScheme = `rtmp`
	// URISchemeMqtt MQTT协议
	URISchemeMqtt URIScheme = `mqtt`
	// URISchemeMqtts MQTT安全协议
	URISchemeMqtts URIScheme = `mqtts`
	// URISchemeWs Websocket协议
	URISchemeWs URIScheme = `ws`
	// URISchemeWss Websocket安全协议
	URISchemeWss URIScheme = `wss`
)

type UpdatedStruct

type UpdatedStruct struct {
	// 最后更新时间
	Updated time.Time `xorm:"updated default('2020-02-04 09:55:52')" json:"updated"`
}

UpdatedStruct 带修改时间模型

type Value

type Value interface {
	// Value 具体的值
	Value() interface{}
}

Value 值

type Weekday

type Weekday time.Weekday

Weekday 星期几

func (Weekday) MarshalJSON

func (w Weekday) MarshalJSON() ([]byte, error)

MarshalJSON 编码成JSON

func (Weekday) String

func (w Weekday) String() string

String 返回中文的周几

func (*Weekday) UnmarshalJSON

func (w *Weekday) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON 解析成JSON

func (*Weekday) WeekDay

func (w *Weekday) WeekDay() time.Weekday

WeekDay 转换为time.Weekday

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL