Maison >développement back-end >Golang >Comment accéder par programmation à l'ID de groupe de fichiers (GID) dans Go ?

Comment accéder par programmation à l'ID de groupe de fichiers (GID) dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 10:25:02652parcourir

How to Access File Group ID (GID) Programmatically in Go?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn