Mendapatkan Penyenaraian Drive pada Windows Menggunakan Go
Untuk mencari fail secara automatik pada semua pemacu pada sistem Windows, anda perlu mendapatkan semula penyenaraian daripada semua pemacu yang menggunakan Go. Bahasa pengaturcaraan Go menyediakan fungsi untuk berinteraksi dengan API Windows, membenarkan penghitungan pemacu logik.
Penyelesaian
Penyelesaian melibatkan panggilan fungsi GetLogicalDrives daripada kernel32. dll perpustakaan. Fungsi ini mengembalikan peta bit yang menunjukkan pemacu yang tersedia. Dengan memproses peta bit ini, kita boleh mendapatkan huruf pemacu yang sepadan dengan pemacu yang tersedia:
<code class="go">import ( "fmt" "syscall" ) func main() { kernel32, _ := syscall.LoadLibrary("kernel32.dll") getLogicalDrivesHandle, _ := syscall.GetProcAddress(kernel32, "GetLogicalDrives") var drives []string if ret, _, callErr := syscall.Syscall(uintptr(getLogicalDrivesHandle), 0, 0, 0, 0); callErr != 0 { // handle error } else { drives = bitsToDrives(uint32(ret)) } fmt.Printf("%v", drives) } func bitsToDrives(bitMap uint32) (drives []string) { availableDrives := []string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"} for i := range availableDrives { if bitMap&1 == 1 { drives = append(drives, availableDrives[i]) } bitMap >>= 1 } return }</code>
Fungsi bitsToDrives menukar peta bit menjadi susunan huruf pemacu, dan fungsi utama memanggil fmt.Printf( ) untuk mencetak senarai pemacu. Kod ini membolehkan anda mencari fail secara dinamik pada semua pemacu yang tersedia tanpa memerlukan input pengguna untuk huruf pemacu.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Penyenaraian Semua Pemacu pada Sistem Windows Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!