1234567891011121314151617181920212223242526 |
- package format
- import "fmt"
- const (
- Byte = 1
- KiloByte = Byte * 1000
- MegaByte = KiloByte * 1000
- GigaByte = MegaByte * 1000
- TeraByte = GigaByte * 1000
- )
- func HumanBytes(b int64) string {
- switch {
- case b > TeraByte:
- return fmt.Sprintf("%.1f TB", float64(b)/TeraByte)
- case b > GigaByte:
- return fmt.Sprintf("%.1f GB", float64(b)/GigaByte)
- case b > MegaByte:
- return fmt.Sprintf("%.1f MB", float64(b)/MegaByte)
- case b > KiloByte:
- return fmt.Sprintf("%.1f KB", float64(b)/KiloByte)
- default:
- return fmt.Sprintf("%d B", b)
- }
- }
|