size
dstgo/size เป็นไลบรารีที่สะดวกสำหรับการแปลงระหว่างสตริงกับขนาดไฟล์
ที่อยู่ repository: 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