ホームページ >バックエンド開発 >Golang >異なるオペレーティング システム間で Go の空きディスク容量情報を取得するにはどうすればよいですか?

異なるオペレーティング システム間で Go の空きディスク容量情報を取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-27 08:00:15509ブラウズ

How Can I Get Free Disk Space Information in Go Across Different Operating Systems?

Go による空きディスク領域の取得

さまざまなプラットフォームでストレージを管理するには、空きディスク領域の量を取得することが不可欠です。 Go では、クロスプラットフォームのディスク領域の取得には、基礎となるオペレーティング システムに応じて異なるアプローチが必要です。

POSIX システム

Linux や Mac を含む POSIX システムの場合、 sys.unix.Statfs 関数は、ディスク使用量情報へのアクセスを提供します。使用方法は次のとおりです:

import "golang.org/x/sys/unix"
import "os"

wd, _ := os.Getwd()

var stat unix.Statfs_t
unix.Statfs(wd, &stat)

freeSpace := stat.Bavail * uint64(stat.Bsize)

Windows システム

Windows では、syscall パッケージは空きディスク領域データを取得する GetDiskFreeSpaceEx 関数を提供します:

import "golang.org/x/sys/windows"

var freeBytesAvailable uint64
var totalNumberOfBytes uint64
var totalNumberOfFreeBytes uint64
windows.GetDiskFreeSpaceEx("C:", &freeBytesAvailable, &totalNumberOfBytes, &totalNumberOfFreeBytes)

クロスプラットフォームパッケージ

空きディスク領域を取得するためのクロスプラットフォーム機能が必要な場合は、プラットフォーム固有の実装を抽象化するカスタム Go パッケージを作成できます。このパッケージは、さまざまなオペレーティング システム間で一貫したインターフェイスを提供し、アプリケーションでのディスク領域管理の処理を容易にします。

以上が異なるオペレーティング システム間で Go の空きディスク容量情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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