1 Star 0 Fork 0

carlmax_my/console-core-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
model.go 849 Bytes
一键复制 编辑 原始数据 按行查看 历史
carlmax_my 提交于 2024-12-02 21:32 . init project
package model
import (
"go.mongodb.org/mongo-driver/bson"
)
type AttrOption struct {
Attr string
Value interface{}
}
type ModelBuilder[T interface{}] struct {
// attrValues map[string]interface{}
attrValues []AttrOption
}
// for others
func (mb *ModelBuilder[T]) GetMap() map[string]interface{} {
m := map[string]interface{}{}
for _, attr := range mb.attrValues {
m[attr.Attr] = attr.Value
}
return m
}
// for mongo
func (mb *ModelBuilder[T]) GetBsonM() bson.M {
m := bson.M{}
for _, attr := range mb.attrValues {
m[attr.Attr] = attr.Value
}
return m
}
func (mb *ModelBuilder[T]) GetSlice() []AttrOption {
return mb.attrValues
}
func (mb *ModelBuilder[T]) AddAttr(attr string, value interface{}) *ModelBuilder[T] {
mb.attrValues = append(mb.attrValues, AttrOption{attr, value})
// mb.attrValues[attr] = value
return mb
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/carlmax_my/console-core-go.git
git@gitee.com:carlmax_my/console-core-go.git
carlmax_my
console-core-go
console-core-go
v0.0.1

搜索帮助

0d507c66 1850385 C8b1a773 1850385