base

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2022 License: MIT Imports: 0 Imported by: 36

README

base

chefgo base.

Documentation

Index

Constants

View Source
const (
	DELIMS = `"` //字段以及表名边界符,自己实现数据驱动才需要处理这个,必须能启标识作用
	RANDBY = `$RANDBY$`

	COUNT = "COUNT"
	SUM   = "SUM"
	MAX   = "MAX"
	MIN   = "MIN"
	AVG   = "AVG"

	IS  = "="  //等于
	NOT = "!=" //不等于
	EQ  = "="  //等于
	NE  = "!=" //不等于
	NEQ = "!=" //不等于

	//约等于	正则等于
	AE   = "~*" //正则等于,约等于
	AEC  = "~"  //正则等于,区分大小写,
	RE   = "~*" //正则等于,约等于
	REC  = "~"  //正则等于,区分大小写,
	REQ  = "~*" //正则等于,约等于
	REQC = "~"  //正则等于,区分大小写,

	NAE   = "!~*" //正则不等于,
	NAEC  = "!~"  //正则不等于,区分大小写,
	NRE   = "!~*" //正则不等于,
	NREC  = "!~"  //正则不等于,区分大小写,
	NREQ  = "!~*" //正则不等于,
	NREQC = "!~"  //正则不等于,区分大小写,

	//换位约等于,值在前,字段在后,用于黑名单查询
	EA   = "$$~*$$" //正则等于,约等于
	EAC  = "$$~$$"  //正则等于,区分大小写,
	ER   = "$$~*$$" //正则等于,约等于
	ERC  = "$$~$$"  //正则等于,区分大小写,
	EQR  = "$$~*$$" //正则等于,约等于
	EQRC = "$$~$$"  //正则等于,区分大小写,

	NEA   = "$$!~*$$" //正则不等于,
	NEAC  = "$$!~$$"  //正则不等于,区分大小写,
	NER   = "$$!~*$$" //正则不等于,
	NERC  = "$$!~$$"  //正则不等于,区分大小写,
	NEQR  = "$$!~*$$" //正则不等于,
	NEQRC = "$$!~$$"  //正则不等于,区分大小写,

	GT  = ">"  //大于
	GE  = ">=" //大于等于
	GTE = ">=" //大于等于
	LT  = "<"  //小于
	LE  = "<=" //小于等于
	LTE = "<=" //小于等于

	IN    = "$$IN$$"    //支持  WHERE id IN (1,2,3)
	NI    = "$$NOTIN$$" //支持	WHERE id NOT IN(1,2,3)
	NIN   = "$$NOTIN$$" //支持	WHERE id NOT IN(1,2,3)
	ANY   = "$$ANY$$"   //支持数组字段的
	OR    = "$$OR$$"    //或操作,
	NOR   = "$$NOR$$"   //支持数组字段的
	CON   = "$$CON$$"   //包含 array contais @>
	CONBY = "$$CONBY$$" //包含 array is contais by <@

	SEARCH    = "$$full$$"  //like搜索
	FULLLIKE  = "$$full$$"  //like搜索
	LEFTLIKE  = "$$left$$"  //like left搜索
	RIGHTLIKE = "$$right$$" //like right搜索

	INC = "$$inc$$" //累加,    UPDATE时用,解析成:views=views+value

	BYASC  = "asc"
	BYDESC = "desc"
)
View Source
const (
	HEAD    = "HEAD"
	GET     = "GET"
	POST    = "POST"
	PUT     = "PUT"
	DELETE  = "DELETE"
	CONNECT = "CONNECT"
	OPTIONS = "OPTIONS"
	TRACE   = "TRACE"
	PATCH   = "PATCH"
	COPY    = "COPY"
	LINK    = "LINK"
	UNLINK  = "UNLINK"
	WRAPPED = "WRAPPED"
)

Variables

View Source
var (
	NIL  dataNil //为空	IS NULL
	NOL  dataNol //不为空	IS NOT NULL
	NULL dataNil //为空	IS NULL
	NOLL dataNol //不为空	IS NOT NULL
	RAND dataRand
	ASC  dataAsc  //正序	asc
	DESC dataDesc //倒序	desc
)
View Source
var (
	Nil = Var{/* contains filtered or unexported fields */}
)

Functions

This section is empty.

Types

type Any

type Any = interface{}

Any 任意类型

type Map

type Map = map[string]interface{}

Map map对象

type Res

type Res interface {
	// OK 函数返回操作是否成功,Res 对象为空,或是 Code() 为 0,表示成功,其它均表示失败。
	OK() bool

	// Fail 函数返回操作是否失败,与 OK() 正好相反。
	Fail() bool

	// Code 表示返回的状态码,其中 0 表示成功,其它均表示失败。
	Code() int

	// State 表示结果中的原始状态信息
	State() string

	// Args 表示Res所携带的参数。
	Args() []Any

	// With 方法,使用新的参数,生成一个新的 Res对象
	// 统常在需要返回动态结果的时候使用
	With(args ...Any) Res

	// Error 为兼容 error 对象的方法
	Error() string
}

Res 操作结果

type Var

type Var struct {

	// Type 参数类型
	Type string

	// Required 是否必填,不可为空
	Required bool

	// Nullable 表示此参数可不存在
	// 为 true 时,解析参数的时候,如果为空,则不生成此参数,
	// 为 false 时,则生成默认值或nil
	Nullable bool

	// Name 参数名称
	Name string

	// Text 参数说明
	Text string

	// Default 默认值
	// 可以是常量,或是函数
	Default Any

	// Setting 参数配置,自定义配置
	// 一些特定的情况下,会有一些自定义的配置,
	Setting Map

	// Options 参数选项
	// 此参数不为空的时候,表示,值只允许是其中之一,相关于枚举选一
	// 注意,key为值,value为描述
	Options Map

	// Children 子参数表
	// 如此,就是支持无限下级的参数表
	Children Vars

	// Encode 编码方式
	// 具体参考 chef 内置的 codec 模块
	Encode string

	// Decode 解码方式
	// 具体参考 chef 内置的 codec 模块
	Decode string

	// Empty 自定义参数为空时的操作结果
	Empty Res

	// Error 自定义参数类型不对时的操作结果
	Error Res

	// Valid 自定义参数类型验证的方法
	Valid func(Any, Var) bool

	// Value 自定义参数通过验证后的值包装方法
	Value func(Any, Var) Any
	// contains filtered or unexported fields
}

Var 参数

func (*Var) Nil

func (vvv *Var) Nil() bool

type Vars

type Vars = map[string]Var

Vars 参数表

Jump to

Keyboard shortcuts

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