feat: initial goget release — modern IPv6-first download utility

This commit is contained in:
2026-06-26 21:21:58 +02:00
commit 53db81e1f7
147 changed files with 45931 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
//go:build linux || freebsd
// +build linux freebsd
package format
import "fmt"
// Bytes formats byte count as human-readable string (DECIMAL units: KB=1000)
func Bytes(b int64) string {
const unit = 1000
if b < 0 {
return "? B"
}
if b < unit {
return fmt.Sprintf("%d B", b)
}
units := []string{"B", "KB", "MB", "GB", "TB", "PB"}
value := float64(b)
exp := 0
for value >= unit && exp < len(units)-1 {
value /= unit
exp++
}
return fmt.Sprintf("%.1f %s", value, units[exp])
}
// Speed formats speed as human-readable string (DECIMAL units)
func Speed(speed float64) string {
const unit = 1000
if speed < 0 {
return "? B/s"
}
if speed < unit {
return fmt.Sprintf("%.1f B/s", speed)
}
units := []string{"B/s", "KB/s", "MB/s", "GB/s", "TB/s", "PB/s"}
value := speed
exp := 0
for value >= unit && exp < len(units)-1 {
value /= unit
exp++
}
return fmt.Sprintf("%.1f %s", value, units[exp])
}