size
dstgo/size هي مكتبة سهلة جدًا للتحويل المتبادل بين السلاسل النصية وحجم الملفات
عنوان المستودع: dstgo/size: Fast conversion between file size and string (github.com)
عنوان الوثائق: dstgo/size: Fast conversion between file size and string (github.com)
التثبيت
$ go get https://github.com/dstgo/sizeالاستخدام
go
const (
B Size = 1
KB = B * 1024
MB = KB * 1024
GB = MB * 1024
TB = GB * 1024
PB = TB * 1024
)go
type SizeMeta struct {
Data float64
Unit Size
}هذه المكتبة سهلة الاستخدام للغاية، تكشف دالتين فقط
go
func ParseSize(str string) SizeMetaParseSize تحول السلسلة النصية إلى بنية SizeMeta، التي تخزن حجم البيانات وحجم الوحدة
go
func ParseTargetSize(str string, size Size) SizeMetaParseTargetSize تحول السلسلة النصية إلى SizeMeta بالحجم المحدد
مثال:
go
package main
import (
"fmt"
"github.com/dstgo/size"
)
func main() {
parseSize := size.ParseSize("1.2MB")
fmt.Printf("%+v\n", parseSize)
fmt.Printf("%+v\n", parseSize.Round(1))
parseSize1 := size.ParseSize("2.3-asdajl")
fmt.Printf("%+v\n", parseSize1)
targetSize := size.ParseTargetSize("2.65MB", size.KB)
fmt.Printf("%+v", targetSize)
fmt.Printf("%+v", targetSize.String())
}بعد التحويل يمكن استخدام طريقة Round لتعديل عدد الخانات العشرية، ويمكن أيضًا استخدام طريقة String للحصول على شكلها النصي، مثال المخرجات:
1.20MB
1.2
2713.60KB