play.golang.org/p/YuFhkDvTlwf
аюсь получить предложение от сообщества, чтобы сделать лучшие практики. Пожалуйста, потерпите меня со следующим примером:
Предположим, что вы работаете сполуоткрытые интервалы, это,то, что вы знаете, когда оно начинается.
Например
Может бытьHalfOpenInterval
ограничено днем. Пример: вы говорите «с 13:00 после» (до конца дня). Давайте назовем этоClockIntervalМожет бытьHalfOpenInterval
ограничено существованием вселенной. Пример: вы говорите: «с 9 июля 1810 года мы объявляем независимость» (до конца космоса .. гипотетически). Давайте назовем этопериодДля обоих типов сущностей: вы работаете с их коллекцией, поэтому обычноslices
изчасы а такжепериодов в вашем коде.
Итак, теперь возникает проблема:Вы должны найти интервал включения для данного времени (func FindEnclosingHalfOpenInterval
) заобе часы и периоды, так что вы начинаете писать код ...
И хорошо, я вхожу в этот вопрос ... как я должен организовать код, чтобы написать только один раз общий функционал. (func FindEnclosingHalfOpenInterval
).
Итак, я попал в этот код:https://play.golang.org/p/Cy7fFaFzYJR
Но я продолжаю задаваться вопросом, есть ли лучший способ определить общее поведение для коллекции кусочков.
Пожалуйста, читатель, вы поймете, что мне нужно сделать «элемент за элементом»преобразование для каждого типа среза (и у меня есть тип среза для каждого типа конкретного HalfOpenInterval, который я определяю). Поэтому мне интересно, есть ли способ, который позволяет мне вводить новые типыHalfOpenInterval
без необходимости делать некоторые корректировки и «автоматически» получает возможность использоватьfunc FindEnclosingHalfOpenInterval
?. Возможно, мой ум на основе rich-oo-java не является правильным способом решения проблем в упрощенном, прямолинейном мире. Я все слышу, на любое предложение.