Skip to content

size

dstgo/size est une bibliothèque très pratique pour convertir mutuellement des chaînes et des tailles de fichiers

Adresse du dépôt : dstgo/size: Fast conversion between file size and string (github.com)

Adresse de la documentation : dstgo/size: Fast conversion between file size and string (github.com)

Installation

$ go get https://github.com/dstgo/size

Utilisation

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
}

Cette bibliothèque est très simple à utiliser, elle expose uniquement deux fonctions

go
func ParseSize(str string) SizeMeta

ParseSize convertit une chaîne en une structure SizeMeta, qui stocke la taille des données et l'unité de taille

go
func ParseTargetSize(str string, size Size) SizeMeta

ParseTargetSize convertit une chaîne en un SizeMeta de taille spécifiée

Exemple :

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())
}

Après conversion, vous pouvez utiliser la méthode Round pour modifier le nombre de décimales, ou utiliser la méthode String pour obtenir sa forme chaîne. Exemple de sortie :

1.20MB
1.2

2713.60KB

Golang by www.golangdev.cn edit