"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-12-26
Parcourir:436

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 vers 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)

La conversion 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3