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

}