1
0
mirror of https://shylinux.com/x/ContextOS synced 2025-04-26 09:14:06 +08:00
2017-11-08 17:31:11 +08:00

64 lines
1.0 KiB
Go

package kit
import (
"fmt"
"io/ioutil"
// "log"
"os"
"path"
)
func FmtSize(size int64) string {
if size > 1000000000 {
return fmt.Sprintf("%d.%dG", size/1000000000, size/100000000%100)
}
if size > 1000000 {
return fmt.Sprintf("%d.%dM", size/100000, size/100000%100)
}
if size > 1000 {
return fmt.Sprintf("%d.%dK", size/1000, size/100%100)
}
return fmt.Sprintf("%dB", size)
}
func FmtNano(nano int64) string {
if nano > 1000000000 {
return fmt.Sprintf("%d.%ds", nano/1000000000, nano/100000000%100)
}
if nano > 1000000 {
return fmt.Sprintf("%d.%dms", nano/100000, nano/100000%100)
}
if nano > 1000 {
return fmt.Sprintf("%d.%dus", nano/1000, nano/100%100)
}
return fmt.Sprintf("%dns", nano)
}
func Check(e error) bool {
if e != nil {
panic(e)
}
return true
}
func DirWalk(file string, hand func(file string)) {
s, e := os.Stat(file)
Check(e)
hand(file)
if s.IsDir() {
fs, e := ioutil.ReadDir(file)
Check(e)
for _, v := range fs {
DirWalk(path.Join(file, v.Name()), hand)
}
}
}