mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-13 20:20:28 +08:00
31 lines
702 B
Go
31 lines
702 B
Go
|
|
package shared
|
||
|
|
|
||
|
|
type SizeCapacityUnit = string
|
||
|
|
|
||
|
|
const (
|
||
|
|
SizeCapacityUnitByte SizeCapacityUnit = "byte"
|
||
|
|
SizeCapacityUnitKB SizeCapacityUnit = "kb"
|
||
|
|
SizeCapacityUnitMB SizeCapacityUnit = "mb"
|
||
|
|
SizeCapacityUnitGB SizeCapacityUnit = "gb"
|
||
|
|
)
|
||
|
|
|
||
|
|
type SizeCapacity struct {
|
||
|
|
Count int64 `json:"count" yaml:"count"`
|
||
|
|
Unit SizeCapacityUnit `json:"unit" yaml:"unit"`
|
||
|
|
}
|
||
|
|
|
||
|
|
func (this *SizeCapacity) Bytes() int64 {
|
||
|
|
switch this.Unit {
|
||
|
|
case SizeCapacityUnitByte:
|
||
|
|
return this.Count
|
||
|
|
case SizeCapacityUnitKB:
|
||
|
|
return this.Count * 1024
|
||
|
|
case SizeCapacityUnitMB:
|
||
|
|
return this.Count * 1024 * 1024
|
||
|
|
case SizeCapacityUnitGB:
|
||
|
|
return this.Count * 1024 * 1024 * 1024
|
||
|
|
default:
|
||
|
|
return this.Count
|
||
|
|
}
|
||
|
|
}
|