是否有推荐的方法来定义切片集合的常见行为?

Vic*_*tor 5 go slice

我想从社区中获得建议,以便做出最佳实践.请耐心等待,举例如下:

假设您使用半开间隔,即在启动时知道的内容.

例如

  • 可以HalfOpenInterval限制为一天.示例:您说"从下午1点开始"(直到当天结束).我们称之为ClockInterval
  • 可以HalfOpenInterval限制宇宙的存在.例如:你说"从1810年7月9日起我们宣布独立"(直到宇宙结束......假设).我们称之为Period

对于这两种类型的实体:你与他们的集合,所以你通常slices时钟时间在你的代码.

所以,现在问题来了:你必须找到一个给定的时间间隔封闭(func FindEnclosingHalfOpenInterval)用于这两个时钟和时间,于是你开始写代码...

好吧,我进入这个问题......我应该如何组织代码,以便只编写一次常见的函数.(func FindEnclosingHalfOpenInterval).

所以我进入这段代码:https://play.golang.org/p/Cy7fFaFzYJR

但我一直想知道是否有更好的方法来定义切片集合的常见行为.

请读者你应该意识到我需要为每种类型的切片做一个"逐个元素"的转换(我为每种类型的具体的HalfOpenInterval定义了一个切片类型).所以我想知道是否有任何方法可以让我引入新的类型,HalfOpenInterval而不必做一些调整,"自动"得到使用的能力func FindEnclosingHalfOpenInterval?也许我的富有基于java的头脑并不是在简单直接前进的世界中面对问题的正确方法.对于任何建议,我都听到了.