Skip to content

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) 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 by www.golangdev.cn edit