现在 PHP、Go 写的比较多,之前常被参数多的问题所困扰,近期 Go 写多了后有一些感悟。
先说结论
分类合并,同类参数合并为数组(Go 中定义为 struct 结构体),不同类分开定义。
例: 参数 school_name,school_address,study_name,study_gender,需调用函数做逻辑处理。
伪代码:
代码语言:javascript复制函数定义:
function anonymous(school, study);
调用点:
school = [school_name, school_address];
study = [study_name, study_gender];
anonymous(school, study);
记
以自己过往经历。
PHP 中这个场景都平铺开来,字段很多,参数位会变得难以阅读,字段一多就想定义成数组算了,但都聚合起来又无法直观认识这个数组中可塞什么字段。当然,不用 array 可以定义 Class,但参数这么定义感觉太重了。
Go 用结构体没有数组黑盒烦恼,这点 Go 确实更加优雅!
综上,可按同类合并思维进行处理,就这么办吧 :)