ホームページ  >  記事  >  バックエンド開発  >  Goでハードリンク数を取得するにはどうすればよいですか?

Goでハードリンク数を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-01 05:05:28855ブラウズ

How to Retrieve Hard Link Count in Go?

Go でのハード リンク数の取得

Go の os.Stat 関数は、ファイル モード、サイズ、変更などのさまざまなファイル情報へのアクセスを提供します。時間。 Go で特定のファイルへのハード リンクの数を確認するには、基になるシステム データにアクセスする必要があります。

POSIX stat システム コールによれば、ハード リンクの数は、返された統計構造体。 Go では、Sys メソッドを使用して基盤となるシステム データを取得できます。

たとえば、Linux では、次のコード スニペットはハード リンク数を取得する方法を示しています。

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

Whenこのプログラムを実行すると、「filename」という名前のファイルへのハード リンクの数が出力されます。

以上がGoでハードリンク数を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。