У меня есть проблема, которую я не смог решить.Я использую https://github.com/kmanley/golang-tuple для создания кортежей.
У меня есть список минут:
minutes := int{0, 30} // Minutes are 0 and 30
и четыре параметра: start
, startBreak
, stop
, stopBreak
:
start := tuple.NewTupleFromItems(9, 30) // It represents "9:30"
startBreak := tuple.NewTupleFromItems(12, 0) // It represents "12:00"
stop := tuple.NewTupleFromItems(21, 0) // It represents "21:00"
stopBreak := tuple.NewTupleFromItems(14, 30) // It represents "14:30"
Я хочу получить срез кортежей (hour, minutes)
, используя все минуты в срезе minutes
, и они не должны быть включены в диапазон startBreak-stopBreak
(может быть равно startBreak
или stopBreak
, поэтому диапазон станет 12:30, 13:00, 13:30, 14:00
) и stop-start
(может быть равно start
и stop
, поэтому диапазон станет 21:30, 22:00, 22:30, ..., 8:30, 9:00
).
Например, при использовании этих четырех параметров конечный результат будет:
9:30, 10:00, 10:30, 11:00, 11:30, 12:00, 14:30, 15:00, 15:30, 16:00, 16:30, 17:00, 17:30, 18:00, 18:30, 19:00, 19:30, 20:00, 20:30, 21:00