V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  falser101  ›  全部回复第 1 页 / 共 2 页
回复总数  27
1  2  
GPT3.5
您可以通过将相似的逻辑整理成一个函数,并使用循环来遍历需要执行的函数,以减少代码的冗余。以下是一个优化后的示例:

go
Copy code
// 定义一个函数类型,用于处理特定的 ColumnFn
type ColumnFuncHandler func(column *Column) string

// 处理 ColumnFn 的函数
func processColumnFn(column *Column, fnName string, fnHandler ColumnFuncHandler) string {
if column.ColumnFn[fnName] != nil {
return fnHandler(column)
}
return ""
}

// 处理所有 ColumnFn 的函数
func processAllColumnFns(column *Column) string {
var result string

// 定义需要处理的函数名列表
fnNames := []string{"primaryKey", "autoIncrement", "default", "notNull", "comment"}

// 遍历函数名列表,执行相应的处理函数
for _, fnName := range fnNames {
result += processColumnFn(column, fnName, column.ColumnFn[fnName])
}

return result
}

// 在你的代码中调用 processAllColumnFns
col := column.typeFn(column.ctype) + processAllColumnFns(column)
通过这种方式,您可以将重复的逻辑整理到函数中,并通过循环来遍历需要执行的函数。这样可以使代码更加清晰、可维护,并减少冗余。同时,如果以后需要添加或删除某个 ColumnFn ,只需在 fnNames 中进行相应的修改,而不必在每个条件语句中进行更改。
@eyebrow WmoxMDIzNTM1NTY5
base64 求拉
@pmx1990 是啊,有工作但是不想继续搞 java
@shank 谢大佬,这样就有学习的方向了
@thiswind 在公司用,
@talkischeap567 可以的,准备整个 27 的
@fanhed 型号发我下,hxd
@ThomasKim 学到了,谢谢大佬
@imicksoft 马上下载
@litengyu86 确实很浮躁,下次我也去爬山试试
@wqq096737ink 但感觉 golang 岗位相对较少,暂时是在做 java 相关开发,上一份工作倒是用 golang 进行过开发,但找工作可能还不够,还需要积累
@NoString 非常好的建议,但对于技术上班之外的赚钱可以说是毫无头绪
@aapeli 加你了通过下
353 天前
回复了 chlinlearn 创建的主题 程序员 团队文档管理系统有没有开源推荐的?
wordpress?
@aapeli 云原生工程师平时都做些啥呀
@litguy 才换了工作,短时间内应该不会跳槽了,可以加一个微信吗大佬
@M003 都有道理😁
@AnroZ 老哥有没有什么具体的建议呢,我一开始是写 java 的,上家公司是做云原生的,然后对 k8s 非常感兴趣撒,想以后转云原生,但是工作中是做 java ,不知道该怎么学
@ixiaohei 2 月被裁,3 月底才找到新工作,就总是很焦虑,想摆烂又不能摆烂,卷也不知道该怎么卷,不想无意义得卷,太煎熬了
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2220 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 02:48 · PVG 10:48 · LAX 19:48 · JFK 22:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.