suffix

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2025 License: MIT Imports: 4 Imported by: 0

README ΒΆ

suffix

πŸ‡·πŸ‡Ί Русский | πŸ‡¬πŸ‡§ English


πŸ‡·πŸ‡Ί Русский

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для парсинга строк с суффиксами Π² числовыС значСния (Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, врСмя, bool).

ВозмоТности
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк с суффиксами (KB, MB, GiB, b, bit ΠΈ Π΄Ρ€.) Π² Π±Π°ΠΉΡ‚Ρ‹, ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Ρ‹, ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ ΠΈ Ρ‚.Π΄.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… суффиксов, дСсятичной ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмы.
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с суффиксами (s, m, h, d, M, Y) Π² сСкунды.
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π² Π±ΡƒΠ»Π΅Π²Ρ‹ значСния (yes, no, 1, 0, ΠΈ Π΄Ρ€.).
  • БСзопасныС (ToX) ΠΈ нСбСзопасныС (UnsafeToX) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ unit-тСстами.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования
package main

import (
    "fmt"
    "github.com/a3ak/suffix"
)

func main() {
    size, _ := suffix.ToB("1.5GB") // 1500000000
    fmt.Println(size)

    sec, _ := suffix.ToSeconds("2h") // 7200
    fmt.Println(sec)

    b, _ := suffix.ToBool("yes") // true
    fmt.Println(b)
}
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ суффиксы
Π Π°Π·ΠΌΠ΅Ρ€Ρ‹
  • ДСсятичныС: KB, MB, GB, TB
  • Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅: KiB, MiB, GiB, TiB
  • Π‘ΠΈΡ‚Ρ‹: b, bit, Kb, Mb, Gb, Tb
  • Π‘Π΅Π· суффикса ΠΈΠ»ΠΈ B β€” Π±Π°ΠΉΡ‚Ρ‹
ВрСмя
  • s β€” сСкунды
  • m β€” ΠΌΠΈΠ½ΡƒΡ‚Ρ‹
  • h β€” часы
  • d β€” Π΄Π½ΠΈ
  • W β€” Π½Π΅Π΄Π΅Π»ΠΈ
  • M β€” мСсяцы (30 Π΄Π½Π΅ΠΉ)
  • Y β€” Π³ΠΎΠ΄Ρ‹ (12 мСсяцСв)
Π‘ΡƒΠ»Π΅Π²Ρ‹ значСния
  • Π˜ΡΡ‚ΠΈΠ½Π°: 1, true, yes, ok, up, y
  • Π›ΠΎΠΆΡŒ: 0, false, no, fail, down, n
Установка
go get github.com/a3ak/suffix
ВСстированиС
go test
ЛицСнзия

MIT


πŸ‡¬πŸ‡§ English

Library for parsing strings with suffixes into numeric values (sizes, time, bool).

Features
  • Convert strings with suffixes (KB, MB, GiB, b, bit, etc.) to bytes, kilobytes, megabytes, etc.
  • Supports bit and byte suffixes, decimal and binary systems.
  • Parse time with suffixes (s, m, h, d, M, Y) to seconds.
  • Parse boolean values from strings (yes, no, 1, 0, etc.).
  • Safe (ToX) and unsafe (UnsafeToX) functions.
  • Unit test coverage.
Usage examples
package main

import (
    "fmt"
    "github.com/a3ak/suffix"
)

func main() {
    size, _ := suffix.ToB("1.5GB") // 1500000000
    fmt.Println(size)

    sec, _ := suffix.ToSeconds("2h") // 7200
    fmt.Println(sec)

    b, _ := suffix.ToBool("yes") // true
    fmt.Println(b)
}
Supported suffixes
Sizes
  • Decimal: KB, MB, GB, TB
  • Binary: KiB, MiB, GiB, TiB
  • Bits: b, bit, Kb, Mb, Gb, Tb
  • No suffix or B β€” bytes
Time
  • s β€” seconds
  • m β€” minutes
  • h β€” hours
  • d β€” days
  • W β€” weeks
  • M β€” months (30 days)
  • Y β€” years (12 months)
Boolean values
  • True: 1, true, yes, ok, up, y
  • False: 0, false, no, fail, down, n
Installation
go get github.com/a3ak/suffix
Testing
go test
License

MIT


Documentation ΒΆ

Index ΒΆ

Constants ΒΆ

View Source
const (
	KiB int64 = 1024
	MiB int64 = 1024 * 1024
	GiB int64 = 1024 * 1024 * 1024
	TiB int64 = 1024 * 1024 * 1024 * 1024

	KB int64 = 1000
	MB int64 = 1000 * 1000
	GB int64 = 1000 * 1000 * 1000
	TB int64 = 1000 * 1000 * 1000 * 1000
)
View Source
const (
	W int64 = 60 * 60 * 24 * 7
	M int64 = 60 * 60 * 24 * 30
	Y int64 = 60 * 60 * 24 * 365
)

Multipliers for various suffixes of time

Variables ΒΆ

This section is empty.

Functions ΒΆ

func ToB ΒΆ

func ToB(s string) (int64, error)

ToB converts string with suffix to Bytes

func ToBit ΒΆ

func ToBit(s string) (int64, error)

ToBit converts string with suffix to bits

func ToBool ΒΆ

func ToBool(suffix string) (bool, error)

func ToDays ΒΆ

func ToDays(s string) (int64, error)

func ToGB ΒΆ

func ToGB(s string) (int64, error)

ToGB converts string with suffix to Gigabytes (decimal)

func ToGb ΒΆ

func ToGb(s string) (int64, error)

ToGb converts string with suffix to Gigabits (decimal)

func ToGiB ΒΆ

func ToGiB(s string) (int64, error)

ToGiB converts string with suffix to Gibibytes (binary)

func ToHours ΒΆ

func ToHours(s string) (int64, error)

func ToKB ΒΆ

func ToKB(s string) (int64, error)

ToKB converts string with suffix to Kilobytes (decimal)

func ToKb ΒΆ

func ToKb(s string) (int64, error)

ToKb converts string with suffix to Kilobits (decimal)

func ToKiB ΒΆ

func ToKiB(s string) (int64, error)

ToKiB converts string with suffix to Kibibytes (binary)

func ToMB ΒΆ

func ToMB(s string) (int64, error)

ToMB converts string with suffix to Megabytes (decimal)

func ToMb ΒΆ

func ToMb(s string) (int64, error)

ToMb converts string with suffix to Megabits (decimal)

func ToMiB ΒΆ

func ToMiB(s string) (int64, error)

ToMiB converts string with suffix to Mebibytes (binary)

func ToMinutes ΒΆ

func ToMinutes(s string) (int64, error)

func ToMonths ΒΆ

func ToMonths(s string) (int64, error)

func ToSeconds ΒΆ

func ToSeconds(s string) (int64, error)

Convert time with suffix(s,m,h,d,M,Y) to seconds. Return 0 - Problem execute

func ToTB ΒΆ

func ToTB(s string) (int64, error)

ToTB converts string with suffix to Terabytes (decimal)

func ToTb ΒΆ

func ToTb(s string) (int64, error)

ToTb converts string with suffix to Terabits (decimal)

func ToTiB ΒΆ

func ToTiB(s string) (int64, error)

ToTiB converts string with suffix to Tebibytes (binary)

func ToWeeks ΒΆ

func ToWeeks(s string) (int64, error)

func ToYears ΒΆ

func ToYears(s string) (int64, error)

func UnsafeToB ΒΆ

func UnsafeToB(s string) int64

Unsafe вСрсии всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

func UnsafeToBit ΒΆ

func UnsafeToBit(s string) int64

func UnsafeToBool ΒΆ

func UnsafeToBool(suffix string) bool

func UnsafeToDays ΒΆ

func UnsafeToDays(s string) int64

func UnsafeToGB ΒΆ

func UnsafeToGB(s string) int64

func UnsafeToGb ΒΆ

func UnsafeToGb(s string) int64

func UnsafeToGiB ΒΆ

func UnsafeToGiB(s string) int64

func UnsafeToHours ΒΆ

func UnsafeToHours(s string) int64

func UnsafeToKB ΒΆ

func UnsafeToKB(s string) int64

func UnsafeToKb ΒΆ

func UnsafeToKb(s string) int64

func UnsafeToKiB ΒΆ

func UnsafeToKiB(s string) int64

func UnsafeToMB ΒΆ

func UnsafeToMB(s string) int64

func UnsafeToMb ΒΆ

func UnsafeToMb(s string) int64

func UnsafeToMiB ΒΆ

func UnsafeToMiB(s string) int64

func UnsafeToMinutes ΒΆ

func UnsafeToMinutes(s string) int64

func UnsafeToMonths ΒΆ

func UnsafeToMonths(s string) int64

func UnsafeToSeconds ΒΆ

func UnsafeToSeconds(suffix string) int64

Convert the value without return error. If the convert is successful, returns the values ​​in seconds. If converst fails, returns 0

func UnsafeToTB ΒΆ

func UnsafeToTB(s string) int64

func UnsafeToTb ΒΆ

func UnsafeToTb(s string) int64

func UnsafeToTiB ΒΆ

func UnsafeToTiB(s string) int64

func UnsafeToWeeks ΒΆ

func UnsafeToWeeks(s string) int64

func UnsafeToYears ΒΆ

func UnsafeToYears(s string) int64

Types ΒΆ

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL