Go를 사용하여 Windows에서 모든 드라이브를 나열하는 방법
프로그램에는 검색과 같이 시스템의 다른 드라이브와 상호 작용하는 기능이 필요한 경우가 많습니다. 특정 파일 형식에 대해. 드라이브 문자를 수동으로 지정할 수도 있지만 모든 드라이브를 자동으로 나열하는 것이 더 편리하고 효율적입니다. Go에서는 GetLogicalDrives 기능을 활용하여 이를 수행할 수 있습니다.
드라이브 목록 가져오기
GetLogicalDrives 함수는 사용 가능한 모든 드라이브를 나타내는 비트맵을 반환합니다. 각 비트는 드라이브 문자에 해당합니다.
<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>
bitsToDrives() 함수는 비트맵을 드라이브 문자의 문자열 배열로 변환합니다.
드라이브 반복
드라이브 목록을 얻은 후에는 이를 반복하여 파일 검색 등 원하는 작업을 수행할 수 있습니다.
Go를 사용하여 다음 단계를 수행하면 효율적으로 드라이브 목록을 얻을 수 있습니다. Windows의 모든 드라이브를 나열하고 필요에 따라 작업을 수행합니다.
위 내용은 Go를 사용하여 Windows에서 사용 가능한 모든 드라이브를 어떻게 나열합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!