1 Star 0 Fork 0

kzangv / gsf-ai-agent

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
params.go 1.94 KB
一键复制 编辑 原始数据 按行查看 历史
kzangv 提交于 2024-01-16 12:34 . fixed
package utils
type ParamsManager interface {
Add(k, v string) ParamsManager
Del(k string) ParamsManager
Get(k string) (string, bool)
Map() map[string]string
}
type ParamsChainManager interface {
ParamsManager
SetPrev(ParamsChainManager)
NewNext() ParamsChainManager
}
// SimpleParamsManager 单点参数管理器
type SimpleParamsManager map[string]string
func (pm SimpleParamsManager) Add(k, v string) ParamsManager {
pm[k] = v
return pm
}
func (pm SimpleParamsManager) Del(k string) ParamsManager {
delete(pm, k)
return pm
}
func (pm SimpleParamsManager) Get(k string) (string, bool) {
v, e := pm[k]
return v, e
}
func (pm SimpleParamsManager) Map() map[string]string {
return pm
}
// SimpleParamsChainManager 链式参数管理器
type SimpleParamsChainManager struct {
val map[string]string
prev ParamsManager
}
func (pm *SimpleParamsChainManager) Del(k string) ParamsManager {
delete(pm.val, k)
return pm
}
func (pm *SimpleParamsChainManager) Add(k, v string) ParamsManager {
pm.val[k] = v
return pm
}
func (pm *SimpleParamsChainManager) Get(k string) (string, bool) {
var (
v string
e bool
)
if pm.val != nil {
v, e = pm.val[k]
}
if !e && pm.prev != nil {
v, e = pm.prev.Get(k)
}
return v, e
}
func (pm *SimpleParamsChainManager) Map() map[string]string {
return pm.val
}
func (pm *SimpleParamsChainManager) SetPrev(prev ParamsChainManager) {
pm.prev = prev
}
func (pm *SimpleParamsChainManager) NewNext() ParamsChainManager {
return &SimpleParamsChainManager{
prev: pm,
val: map[string]string{},
}
}
/**
函数相关
*/
func NewSimpleChainParamsManager() *SimpleParamsChainManager {
return &SimpleParamsChainManager{
prev: nil,
val: map[string]string{},
}
}
func NewSimpleParamManager() SimpleParamsManager {
return SimpleParamsManager{}
}
func ConvertSimpleParamsChainManager(pm ParamsManager) *SimpleParamsChainManager {
return &SimpleParamsChainManager{
prev: pm,
val: map[string]string{},
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/kzangv/gsf-ai-agent.git
git@gitee.com:kzangv/gsf-ai-agent.git
kzangv
gsf-ai-agent
gsf-ai-agent
v0.0.7

搜索帮助

344bd9b3 5694891 D2dac590 5694891