Они не являются «дубликатами», они являются частью разных пакетов, поэтому вы должны изучить и интерпретировать их в контексте их пакетов.
Пакет path
"реализует служебные подпрограммы для манипулирования разделенными косой чертой " независимыми платформы / операционной системы.
Пакет path/filepath
"реализует служебные подпрограммы для манипулирования путями имен файлов способом, совместимым с путями файлов, определяемыми целевой операционной системой " .
Так, например,path/filepath
обрабатывает различия в разделителях пути между операционными системами.
Если вы посмотрите ближе к документу filepath.Match()
, он заканчивается на:
Вкл.Windows, экранирование отключено.Вместо этого '\' рассматривается как разделитель пути.
И есть также различия в интерпретации терминов.path.Match()
:
term:
'*' matches any sequence of non-/ characters
'?' matches any single non-/ character
И filepath.Match()
:
term:
'*' matches any sequence of non-Separator characters
'?' matches any single non-Separator character