程序中一大堆 enum 类型,这些 enum 类型会参与 Json 的编解码、日志打印等等。
想到最起码的方式,必须为这个 enum 类型提供一堆在值和 string 的映射关系,比如使用[]string 或者 map[int]string 。这个肯定是每个 enum 少不了的代码。假设就是 String()吧。
但是对于 Unmarshal 、String 、Marshal 、Sacn 等接口,每个类型都得写一个么?在面向对象里面,只要基类实现了这几个接口,其他的 enum 都基于这个基类来实现就好了。
Golang 中如何避免大量的代码拷贝粘贴呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.