La fonction filepath.Glob dans Go fournit un moyen puissant de trouver des fichiers et des répertoires en utilisant la correspondance de modèles. La fonction renvoie une slice de chemins de fichiers correspondants et une erreur. La gestion des erreurs est simple, avec la seule erreur possible étant filepath.ErrBadPattern, qui se produit lorsque la syntaxe du modèle est malformée. La fonction opère par défaut dans le répertoire de travail courant, mais vous pouvez spécifier des chemins absolus ou relatifs dans vos modèles. La syntaxe des modèles s'appuie sur les conventions de globbing de shell familières, mais a des règles et des limitations spécifiques. Les caractères génériques, les classes de caractères et les plages peuvent être utilisés pour correspondre aux noms de fichiers et aux extensions. La fonction ne suit pas les liens symboliques et ne renvoie que les chemins qui existent réellement dans le système de fichiers. Le package io/fs a introduit l'interface GlobFS dans Go 1.16, permettant aux systèmes de fichiers de fournir des implémentations de glob optimisées. Les implémentations de glob natives peuvent améliorer significativement les performances, notamment sur les structures de répertoires importantes. Lorsqu'un système de fichiers n'implémente pas GlobFS, Go revient automatiquement à une implémentation de parcours de répertoire.
dev.to
Pattern Matching with Glob: Finding Files by Pattern 5/9
