Lorsque vous travaillez avec des fichiers dans Go, vous devrez peut-être récupérer le nombre de liens physiques associés à un fichier spécifique. Les liens physiques offrent un autre moyen d'accéder au même fichier sans créer de copie physique distincte.
La fonction os.Stat intégrée dans Go renvoie une interface FileInfo qui offre diverses informations sur un fichier, y compris son nom, taille, mode et heure de modification. Cependant, l'interface FileInfo ne fournit pas d'accès direct au nombre de liens physiques.
Pour récupérer le nombre de liens physiques, vous pouvez utiliser les informations sous-jacentes spécifiques au système accessibles via le champ Sys de FileInfo. Pour les systèmes Linux, ces données sont stockées dans une structure syscall.Stat_t. Le champ Nlink dans cette structure représente le nombre de liens physiques vers le fichier.
Voici un exemple de la façon de récupérer le nombre de liens physiques dans Go :
<code class="go">package main import ( "fmt" "os" "syscall" ) func main() { fi, err := os.Stat("filename") if err != nil { fmt.Println(err) return } nlink := uint64(0) if sys := fi.Sys(); sys != nil { if stat, ok := sys.(*syscall.Stat_t); ok { nlink = uint64(stat.Nlink) } } fmt.Println(nlink) }</code>
Exécuter ce code avec le nom de fichier en tant que fichier lié en dur imprimera le nombre de liens physiques qui lui sont associés.
L'utilisation des informations spécifiques au système du champ Sys vous permet d'accéder à des informations plus approfondies sur le fichier, y compris le nombre de liens physiques. , ce qui peut être utile pour diverses tâches de gestion de fichiers.
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!