go 根据文件的大小,加上单位值

package main

import (
	"fmt"
	"io/ioutil"
)

func FormatSize(size int64) string {
	units := [6]string{"B", "KB", "MB", "GB", "TB", "PB"}

	fsize := float64(size)
	unit := float64(1024)

	index := 0
	// fisze > 1024KB, fsize <1024B
	for fsize >= unit && index < len(units)-1 {
		fsize /= unit
		index++
	}
	return fmt.Sprintf("%.2f%s", fsize, units[index])

}

func main() {
	files, err := ioutil.ReadDir(".")
	fmt.Println(err)
	for _, file := range files {
		if file.IsDir() {
			fmt.Println("D", file.Name(), file.ModTime().Format("2006-01-02 15:03:04"))
		} else {
			//fmt.Println(file.Size())
			fmt.Println(FormatSize(file.Size()))
		}

	}
}
posted @   wangsk  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示