package system_check import ( "fmt" "runtime" ) type MemoryInformation struct { /* * The total amount of memory the system has available */ SystemMemory uint64 /* * How much memory is currently unused */ AvailableMemory uint64 } func (memInfo MemoryInformation) GetUsedMemory() uint64 { return memInfo.SystemMemory - memInfo.AvailableMemory } func GetRamInformation() (MemoryInformation, error) { switch runtime.GOOS { case "windows": return getWinRamInfo(getWindowsTools().ProcGlobalMemoryStatusEx), nil case "linux": return getLinuxRamInfo() default: return MemoryInformation{}, fmt.Errorf("Unsupported OS: \"%s\"", runtime.GOOS) } }