Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2025-06-17 13:15:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-06-17 13:55:17 * @FilePath: \go-toolbox\pkg\units\constants.go * @Description: 单位常量及单位映射定义 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-06-17 13:15:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-06-18 11:35:38 * @FilePath: \go-toolbox\pkg\units\format.go * @Description: 单位格式化相关函数 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
Index ¶
- Constants
- Variables
- func BytesSize(size float64) string
- func CustomSize(format string, size float64, base float64, unitAbbrs []string) string
- func FormatBytes(bytes uint64) string
- func HumanSize(size float64) string
- func HumanSizeWithPrecision(size float64, precision int) string
- func ParseBytes(size string) (uint64, error)
- func ParseSizeBinary(size string) (int64, error)
- func ParseSizeDecimal(size string) (int64, error)
Constants ¶
Variables ¶
var ( // 十进制单位映射表 DecimalMap = unitMap{'k': KB, 'm': MB, 'g': GB, 't': TB, 'p': PB} // 二进制单位映射表 BinaryMap = unitMap{'k': KiB, 'm': MiB, 'g': GiB, 't': TiB, 'p': PiB} )
var ( // 十进制单位缩写数组,用于格式化输出 DecimalAbbrs = []string{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"} // 二进制单位缩写数组,用于格式化输出 BinaryAbbrs = []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"} )
var ( ErrInvalidSizeFormat = errors.New("无效的大小格式") ErrNegativeSize = errors.New("大小不能为负数") ErrInvalidUnitSuffix = errors.New("无效的单位后缀") )
定义错误变量,方便统一管理和复用
Functions ¶
func CustomSize ¶
CustomSize 使用自定义格式字符串格式化大小,支持指定单位基数和单位列表。 例如:CustomSize("%.2f %s", 1234567, 1000, DecimalAbbrs)
func HumanSizeWithPrecision ¶
HumanSizeWithPrecision 格式化大小,支持指定有效数字精度,使用十进制单位(1000进制)
func ParseBytes ¶
ParseBytes 解析字节大小字符串(支持二进制和十进制单位) 示例:ParseBytes("1GB") -> 1073741824 (使用二进制单位 1 GiB)
ParseBytes("512MB") -> 536870912
ParseBytes("2048KB") -> 2097152
func ParseSizeBinary ¶
ParseSizeBinary 解析二进制单位格式的字符串(如 "22KiB", "17MiB"),返回对应字节数
func ParseSizeDecimal ¶
ParseSizeDecimal 解析十进制单位格式的字符串(如 "22kB", "17MB"),返回对应字节数
Types ¶
This section is empty.