Maison >développement back-end >Golang >Comment récupérer le GID d'un fichier à partir d'un résultat os.Stat() dans Go ?

Comment récupérer le GID d'un fichier à partir d'un résultat os.Stat() dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 02:58:30687parcourir

How to Retrieve a File's GID from an os.Stat() Result in Go?

Récupération du GID d'un fichier dans Go

Question :

Étant donné un os.Stat( ) sous Linux, comment pouvons-nous récupérer par programme l'ID de groupe (GID) du fichier ?

Contexte :

La fonction os.Stat() fournit des métadonnées de fichier, notamment informations sur la propriété du groupe du fichier. Cependant, la méthode Sys() de l'objet FileInfo résultant renvoie une Interface{} sans accès direct au GID.

Solution :

Pour extraire le GID de l'interface{ }, nous pouvons exploiter le module Reflect et transtyper le résultat dans une structure *syscall.Stat_t, un type exposé par le package syscall spécifique à Linux. Le code suivant le démontre :

<code class="go">import (
    "fmt"
    "os"
    "syscall"
)

func main() {
    abspath := "/path/to/file"
    file_info, _ := os.Stat(abspath)
    file_sys := file_info.Sys()
    file_gid := fmt.Sprint(file_sys.(*syscall.Stat_t).Gid)
    fmt.Println("File GID:", file_gid)
}</code>

Cette méthode fournit un moyen fiable de récupérer le GID du fichier sur les systèmes Linux.

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