Bagaimana untuk Mendapatkan Penyenaraian Semua Pemacu pada Sistem Windows Menggunakan Go?

Barbara Streisand
Lepaskan: 2024-10-28 19:43:02
asal
233 orang telah melayarinya

How to Get a Listing of All Drives on a Windows System Using Go?

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&amp;1 == 1 {
            drives = append(drives, availableDrives[i])
        }
        bitMap >>= 1
    }

    return
}</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!