diskusage - skynocover/Wiki-for-GoLang GitHub Wiki
DiskUsage
import and init
import (
"runtime"
"github.com/ricochet2200/go-disk-usage/du"
)
func init() {
switch runtime.GOOS {
case "windows":
decimal = 1024
systemPath = "C:\\"
kB = decimal * b
mB = decimal * kB
gB = decimal * mB
default:
decimal = 1024
systemPath = "/"
kB = decimal * b
mB = decimal * kB
gB = decimal * mB
}
}
Use
// DiskUsage ...d
func DiskUsage(ctx iris.Context) {
usage := du.NewDiskUsage(systemPath)
// fmt.Printf("Free: %.2f GB\n", float64(usage.Free())/gB)
// fmt.Printf("Size: %.2f GB\n", float64(usage.Size())/gB)
// fmt.Printf("Usage: %.2f %%\n", usage.Usage()*100)
var DiskStatus struct {
Size float32 `json:"size"`
Free float32 `json:"free"`
Usage float32 `json:"usage"`
}
DiskStatus.Size = float32(usage.Size()) / gB
DiskStatus.Free = float32(usage.Available()) / gB
DiskStatus.Usage = usage.Usage() * 100
}