FormatBytes
This commit is contained in:
parent
4562d6124f
commit
2064d0df6a
14
util.go
14
util.go
|
@ -4,6 +4,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// format bytes number friendly
|
||||
|
@ -75,3 +76,16 @@ func CopyStruct(dst interface{}, src interface{}) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
func FormatBytes(bytes int64) string {
|
||||
const unit = 1024
|
||||
if bytes < unit {
|
||||
return strconv.FormatInt(bytes, 10) + " B"
|
||||
}
|
||||
div, exp := int64(unit), 0
|
||||
for n := bytes / unit; n >= unit; n /= unit {
|
||||
div *= unit
|
||||
exp++
|
||||
}
|
||||
return fmt.Sprintf("%.2f%cB", float64(bytes)/float64(div), "KMGTPE"[exp])
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue