Accès à l'ID de groupe de fichiers (GID) dans Go
Dans Go, la fonction os.Stat() récupère les informations sur le fichier, y compris son système -attributs spécifiques. Ces informations sont stockées dans une interface syscall.Sys. Bien que l'impression de l'interface révèle directement le GID, y accéder par programme pose un défi.
Pour obtenir le GID sous forme de chaîne pour les systèmes Linux :
file_info, _ := os.Stat(abspath) file_sys := file_info.Sys() file_gid := fmt.Sprint(file_sys.(*syscall.Stat_t).Gid)
L'interface Sys() renvoie un pointeur à syscall.Stat_t. La conversion de l'interface en *syscall.Stat_t permet d'accéder au champ Gid. La conversion du résultat en chaîne à l'aide de fmt.Sprint() renvoie le GID sous forme de chaîne.
Alternativement, pour accéder au GID sous forme d'entier :
file_gid := int64(file_sys.(*syscall.Stat_t).Gid)
Casting de l'interface en *syscall .Stat_t et l'extraction du champ Gid renvoie le GID sous forme d'entier.
Veuillez noter que cette méthode repose sur les détails d'implémentation internes du package syscall de Go. Il est recommandé d'utiliser les packages os ou io standard pour les opérations sur les fichiers autant que possible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!