格式化方法

格式化显示空间使用 #

package main

import (
	"fmt"
)

func ByteCountToReadable(b uint64) string {
	const unit = 1024
	if b < unit {
		return fmt.Sprintf("%d B", b)
	}
	div, exp := uint64(unit), 0
	for n := b / unit; n >= unit; n /= unit {
		div *= unit
		exp++
	}
	return fmt.Sprintf("%.1f %cB", float64(b)/float64(div), "KMGTPE"[exp])
}

func main() {
	fmt.Println(ByteCountToReadable(1024 * 1024 * 1024))
	fmt.Println(ByteCountToReadable(256 * 1024))
}

运行代码输出如下

$  go run main.go

1.0 GB
256.0 KB

转载申请

本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,商业转载请联系作者获得授权。

© 蛮荆 | 陕公网安备 61011302001681 号 | 陕ICP备2023004378号-1 | Rendered by Hugo