-
Notifications
You must be signed in to change notification settings - Fork 4
/
gtbox_unit_bytes.go
50 lines (45 loc) · 1.21 KB
/
gtbox_unit_bytes.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package gtbox_unit_bytes
import (
"math/big"
)
// UnitBytes Bytes 字节 显示单位 Model
type UnitBytes int
const (
UnitBytesByte UnitBytes = iota // Byte 字节
UnitBytesKiloBytes // KB or KBytes 千字节
UnitBytesMegaBytes // MB or MBytes 兆字节
UnitBytesGigaBytes // GB or GBytes 吉字节
UnitBytesTeraBytes // TB or TBytes 太字节
UnitBytesPetaBytes // PB or PBytes 拍字节
UnitBytesExaBytes // EB or EBytes 艾字节
UnitBytesZettaBytes // ZB or ZBytes 泽字节
UnitBytesYottaBytes // YB or YBytes 尧字
)
func (aBytes UnitBytes) String() string {
switch aBytes {
case UnitBytesKiloBytes:
return "KB"
case UnitBytesMegaBytes:
return "MB"
case UnitBytesGigaBytes:
return "GB"
case UnitBytesTeraBytes:
return "TB"
case UnitBytesPetaBytes:
return "PB"
case UnitBytesExaBytes:
return "EB"
case UnitBytesZettaBytes:
return "ZB"
case UnitBytesYottaBytes:
return "YB"
case UnitBytesByte:
return "Bytes"
default:
return "Bytes"
}
}
type GTUnitBytes struct {
BytesValue *big.Float // 字节值
Unit UnitBytes // 单位
}