Mengira Jumlah Saiz Pemacu dalam Go pada Windows
Untuk mendapatkan jumlah saiz pemacu tertentu dalam Go on Windows, panggilan API Windows standard yang akan digunakan ialah GetDiskFreeSpaceExW() daripada kernel32.dll. Fungsi ini mendapatkan semula ruang kosong yang tersedia untuk pemanggil, bersama-sama dengan jumlah bilangan bait pada cakera dan jumlah bilangan bait percuma.
Dengan menyediakan penunjuk untuk setiap maklumat yang diperlukan, fungsi GetDiskFreeSpaceExW() boleh digunakan untuk mendapatkan jumlah saiz pemacu.
Berikut ialah contoh kod yang menunjukkan penggunaannya:
import ( "syscall" "unsafe" "fmt" ) func main() { kernelDLL, _ := syscall.LoadDLL("kernel32.dll") GetDiskFreeSpaceExW, _ := kernelDLL.FindProc("GetDiskFreeSpaceExW") var free int64 var total int64 var avail int64 path := "c:\" r1, r2, lastErr := GetDiskFreeSpaceExW.Call( uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(path))), uintptr(unsafe.Pointer(&free)), uintptr(unsafe.Pointer(&total)), uintptr(unsafe.Pointer(&avail)), ) fmt.Println(r1, r2, lastErr) fmt.Println("Free:", free, "Total:", total, "Available:", avail) }
Menjalankan kod di atas akan menghasilkan output yang serupa dengan:
1 0 Success. Free: 16795295744 Total: 145545281536 Available: 16795295744
Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Saiz Pemacu Windows Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!