Bagaimanakah Saya Boleh Mendapatkan Senarai Pemacu Tersedia dalam Windows Dengan Cekap Menggunakan Golang?

DDD
Lepaskan: 2024-10-30 09:36:02
asal
327 orang telah melayarinya

How Can I Efficiently Get a List of Available Drives in Windows Using Golang?

Mendapatkan Senarai Pemacu pada Windows Menggunakan Golang

Mencari cara yang lebih cekap untuk mencari merentas semua pemacu pada sistem Windows untuk yang tertentu jenis fail, pengaturcara Go mungkin tertanya-tanya sama ada mungkin untuk mendapatkan senarai pemacu yang tersedia secara automatik tanpa ditentukan pengguna input.

Penyelesaian menggunakan GetLogicalDrives dan Manipulasi Bit:

Untuk menyenaraikan pemacu pada sistem Windows, seseorang boleh memanfaatkan fungsi GetLogicalDrives. Fungsi ini mengembalikan topeng sedikit dengan setiap bit mewakili ketersediaan huruf pemacu dari 'A' hingga 'Z.'

Berikut ialah coretan kod Golang yang menunjukkan proses:

<code class="go">package main

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>
Salin selepas log masuk

Dalam kod ini, fungsi GetLogicalDrives dipanggil untuk mendapatkan topeng bit. Bitmask kemudiannya diproses menggunakan teknik manipulasi bit untuk mengekstrak huruf pemacu yang tersedia dan menyimpannya dalam kepingan pemacu. Dengan melelaran melalui kepingan ini, anda boleh mengakses dan memproses semua pemacu yang tersedia pada sistem dengan mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Senarai Pemacu Tersedia dalam Windows Dengan Cekap Menggunakan Golang?. 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
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!