The go language method to get system characters


The example of this article describes how the go language gets system characters. Share with you for your reference. The details are as follows:

Involves the technique of golang calling winapi to get system characters. The code is as follows:

// cs project main.go
package main
import (
 "fmt"
 . "strconv"
 "syscall"
)
func GetLogicalDrives() []string {
 kernel32 := syscall.MustLoadDLL("kernel32.dll")
 GetLogicalDrives := kernel32.MustFindProc("GetLogicalDrives")
 n, _, _ := GetLogicalDrives.Call()
 s := FormatInt(int64(n), 2)
 var drives_all = []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 : "}
 temp := drives_all[0:len(s)]
 var d []string
 for i, v := range s {
  if v == 49 {
   l := len(s) - i - 1
   d = append(d, temp[l])
  }
 }
 var drives []string
 for i, v := range d {
  drives = append(drives[i:], append([]string{v}, drives[:i]...)...)
 }
 return drives
}
func main() {
 fmt.Println(GetLogicalDrives())
}

I hope this article has been helpful to your programming of Go language.