https://pkg.go.dev/path/filepath#HasPrefix мы задепрекейтили тут апишку, ты её не используй. Кстати, альтернативу мы не дадим.
Причина понятна - изначально написал это какой-то студент или просто кто-то не подумал, что:
- не понятно, "/some/path" должен быть префиксом для "/some/path123" или нет? Если не понятен этот пункт: типа, кто мешает сделать ".../path/" для точного совпадения и ".../path" для жадного? Но вы не должны составлять пути с явным указанием разделителя, нужно использовать path.Join(), чтобы разделитель был платформозависимым. Но тогда будет или не будет завершающий слеш, зависит не от вас, а от работы джойна
- для файловых систем нужно учитывать чувствительность к регистру. Потому что где-то "/some/" будет префиксом для "/SOME/", а где-то - не будет
Но уж если сделали депрекейт, то предложите альтернативу. Потратьте время. Но нет. Апи было объявлено говном в 2012, а решения нет.