大佬们这段 golang 代码怎么优化,这么多 if 判断

127 天前
 pdxjun

大佬们这段 golang 代码怎么优化,这么多 if 判断

        ...
	col := column.typeFn(column.ctype)

        //primaryKey
	if column.ColumnFn["primaryKey"] != nil {
		col = col + column.ColumnFn["primaryKey"](column)
	}
	//autoIncrement
	if column.ColumnFn["autoIncrement"] != nil {
		col = col + column.ColumnFn["autoIncrement"](column)
	}

	//default
	if column.ColumnFn["default"] != nil {
		col = col + column.ColumnFn["default"](column)
	}
	//notNull
	if column.ColumnFn["notNull"] != nil {
		col = col + column.ColumnFn["notNull"](column)
	}

	//comment
	if column.ColumnFn["comment"] != nil && !column.Add {
		col = col + column.ColumnFn["comment"](column)
	}
       ...
2792 次点击
所在节点    Go 编程语言
22 条回复
fionasit007
126 天前
代码最重要的可读性
SSang
123 天前
别改,这段代码我觉得写的非常好,没有优化的必要。

循环需要保证模式相同,前人写这个代码可能就是怕后期增加不同模式的判断。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX