Windows で Go を使用してファイルの作成日に効率的にアクセスするにはどうすればよいですか?

DDD
リリース: 2024-11-23 18:44:13
オリジナル
510 人が閲覧しました

How Can I Efficiently Access a File's Creation Date in Windows Using Go?

Go を使用して Windows でファイルの作成日にアクセスする

質問:

ファイルのメタデータの検索、作成日など、さまざまなシナリオに役立ちます。 Windows では、Go の標準ライブラリを使用してファイル作成情報に効率的にアクセスするにはどうすればよいですか?

回答:

Go の標準ライブラリは、システム固有のファイル属性を詳しく調べるためのインターフェイスを提供します。ただし、一般的に使用される os.Stat() 関数と os.Chtimes() 関数は、作成日の情報を直接提供しません。

Windows で作成日にアクセスするには、FileInfo.Sys() メソッドを利用する必要があります。 。このメソッドは、システム固有のデータ構造を返します。Windows の場合、これは syscall.Win32FileAttributeData 構造です。

Win32FileAttributeData 構造には、次のようなさまざまな属性が含まれます。

  • FileAttributes: 次のようなファイル属性読み取り専用、非表示など
  • CreationTime: ナノ秒ファイル作成のタイムスタンプ
  • LastAccessTime: 最後のファイル アクセスのナノ秒のタイムスタンプ
  • LastWriteTime: 最後のファイル書き込みのナノ秒のタイムスタンプ
  • FileSizeHigh: ファイル サイズの上位 32 ビット
  • FileSizeLow: ファイルの下位 32 ビットsize

作成時刻を具体的に取得するには、CreationTime フィールドに格納されているナノ秒のタイムスタンプを time.Time オブジェクトに変換できます。

d := fi.Sys().(*syscall.Win32FileAttributeData)
cTime := time.Unix(0, d.CreationTime.Nanoseconds())
ログイン後にコピー

この機能は Windows 固有であるため、クロスプラットフォームの問題を避けるためにビルド制約によって保護する必要があります。これは、_windows.go ファイルまたは //go:build Windows ディレクティブを使用して実行できます。

以上がWindows で Go を使用してファイルの作成日に効率的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート