package stat import ( "io" "strings" "bufio" ) type MemStat struct { } func (mem MemStat) Command() string { return "cat /proc/meminfo" } func (mem MemStat) Parse(r io.Reader) (map[string]string, error) { var ( memInfo = map[string]string{} scanner = bufio.NewScanner(r) ) for scanner.Scan() { line := scanner.Text() parts := strings.Fields(line) key := parts[0][:len(parts[0])-1] memInfo[key] = parts[1] } return memInfo, scanner.Err() }