代码拉取完成,页面将自动刷新
package sql_builder
type sqlBuilderOptions struct {
isPostgres bool
isLower bool
sqlTag string
generateComment bool
pluralTableName bool
}
type funcSqlBuilderOption struct {
f func(*sqlBuilderOptions)
}
func (fso *funcSqlBuilderOption) apply(do *sqlBuilderOptions) {
fso.f(do)
}
func newFuncSqlBuilderOption(f func(*sqlBuilderOptions)) *funcSqlBuilderOption {
return &funcSqlBuilderOption{
f: f,
}
}
// SqlBuilderOption ...
type SqlBuilderOption interface {
apply(*sqlBuilderOptions)
}
// WithSqlTag default tag is `sql`
func WithSqlTag(sqlTag string) SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.sqlTag = sqlTag
})
}
// WithMysql default
func WithMysql() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isPostgres = false
})
}
// WithPostgresql default is mysql
func WithPostgresql() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isPostgres = true
})
}
// WithSqlUppercase default
func WithSqlUppercase() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isLower = false
})
}
// WithSqlLowercase default is uppercase
func WithSqlLowercase() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isLower = true
})
}
// WithPluralTableName Table name in plural convention - ending with `s`
func WithPluralTableName() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.pluralTableName = true
})
}
// WithCommentGenerate default is off
func WithCommentGenerate() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.generateComment = true
})
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。