Skip to content

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) SizeMeta

ParseSize تحول السلسلة النصية إلى بنية SizeMeta، التي تخزن حجم البيانات وحجم الوحدة

go
func ParseTargetSize(str string, size Size) SizeMeta

ParseTargetSize تحول السلسلة النصية إلى 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

Golang تم تحريره بواسطة www.golangdev.cn