golang находит первый элемент, меньший или равный данному элементу, используя sort.Search(), если массив отсортирован в порядке возрастания.
sort.Search()
Примечание: я не хочу сортировать массив в порядке убывания, чтобы использовать sort.Search
sort.Search
В вашей функции «поменьше» используйте «больше».Возможно, вам придется скорректировать полученный индекс на 1.