| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| _ = iota // ignore first value by assigning to blank identifier |
| KB ByteSize = 1 << (10 * iota) |
| func (b ByteSize) String() string { |
| return fmt.Sprintf("%.2fYB", float64(b/YB)) |
| return fmt.Sprintf("%.2fZB", float64(b/ZB)) |
| return fmt.Sprintf("%.2fEB", float64(b/EB)) |
| return fmt.Sprintf("%.2fPB", float64(b/PB)) |
| return fmt.Sprintf("%.2fTB", float64(b/TB)) |
| return fmt.Sprintf("%.2fGB", float64(b/GB)) |
| return fmt.Sprintf("%.2fMB", float64(b/MB)) |
| return fmt.Sprintf("%.2fKB", float64(b/KB)) |
| return fmt.Sprintf("%.2fB", float64(b)) |
| fmt.Println(YB, ByteSize(1e13)) |