Skip to content

size

dstgo/size es una biblioteca muy útil para convertir entre cadenas y tamaños de archivos

Dirección del repositorio: dstgo/size: Fast conversion between file size and string (github.com)

Dirección de documentación: dstgo/size: Fast conversion between file size and string (github.com)

Instalación

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

Uso

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
}

Esta biblioteca es muy simple de usar, solo tiene dos funciones expuestas

go
func ParseSize(str string) SizeMeta

ParseSize convierte una cadena en una estructura SizeMeta, que almacena el tamaño de datos y la unidad

go
func ParseTargetSize(str string, size Size) SizeMeta

ParseTargetSize convierte una cadena en un SizeMeta de tamaño especificado

Ejemplo como sigue:

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

Después de la conversión, se puede usar el método Round para modificar cuántos decimales conservar, también se puede usar el método String para obtener su forma de cadena, la salida de ejemplo es la siguiente

1.20MB
1.2

2713.60KB

Golang editado por www.golangdev.cn