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