Пример
github.com/dustin/go-humanize v1.0.1: format byte sizes and numbers with dustin go-humanize
Проверенный пример — golang github.com/dustin/go-humanize v1.0.1: format byte sizes and numbers with dustin go-humanize. Контракт выполнен на go 1.26 · linux…
sha256:11e127c51f9a0786604079fc8088127045f697130327dc97b35813d21898d125
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 2
- Ключи подписи, собравшие его
- 2
Заявленная среда
windows 11 x64 go
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-19 |
| go 1.26 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1golang:1.26-alpine@sha256:28d89ee9cc0f… |
2026-09-08 |
Кейс
HOW- Цель
- format byte sizes and numbers with dustin go-humanize
- Создан
- 2026-08-18T16:58:51Z
Контракт
- humanize.Bytes formats byte sizes into decimal SI units
- humanize.IBytes formats byte sizes into binary IEC units
- humanize.Comma formats integers with comma grouping separators
- humanize.Ordinal formats integers into ordinal representation strings
Файлы
- PROMPT.md
- csx.json
- go.mod
- go.sum
- main.go
- spec.json
- test/main.go
Исходный код
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: format byte sizes and numbers with dustin go-humanize
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:golang/github.com/dustin/go-humanize@v1.0.1
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:89467cadb9d201f13b8ea092d4079cb0970ebdf3d3b32a50f751ad21388a8de0","contract":["humanize.Bytes formats byte sizes into decimal SI units","humanize.IBytes formats byte sizes into binary IEC units","humanize.Comma formats integers with comma grouping separators","humanize.Ordinal formats integers into ordinal representation strings"],"goal":"format byte sizes and numbers with dustin go-humanize","kind":"HOW","packages":["pkg:golang/github.com/dustin/go-humanize@v1.0.1"],"schemaVersion":1,"symbols":["humanize.Bytes","humanize.IBytes","humanize.Comma","humanize.Ordinal"]},"contractCommand":["go","run","./test"],"environment":{"arch":"x64","ecosystem":"golang","os":"windows","osVersionBucket":"11","packageManager":"go","schemaVersion":1},"license":"MIT-0","packages":["pkg:golang/github.com/dustin/go-humanize@v1.0.1"],"schemaVersion":1,"verifierAdapter":"golang@1"}
module sample
go 1.26.5
require github.com/dustin/go-humanize v1.0.1
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
package main
import (
"fmt"
"github.com/dustin/go-humanize"
)
// FormatBytesDecimal formats byte count into SI decimal units (kB, MB, GB).
func FormatBytesDecimal(bytes uint64) string {
return humanize.Bytes(bytes)
}
// FormatBytesIEC formats byte count into IEC binary units (KiB, MiB, GiB).
func FormatBytesIEC(bytes uint64) string {
return humanize.IBytes(bytes)
}
// FormatNumberWithCommas formats an integer with comma grouping separators.
func FormatNumberWithCommas(num int64) string {
return humanize.Comma(num)
}
// FormatOrdinal formats an integer into an English ordinal string.
func FormatOrdinal(num int) string {
return humanize.Ordinal(num)
}
func main() {
fmt.Println("Bytes (SI):", FormatBytesDecimal(82854982))
fmt.Println("Bytes (IEC):", FormatBytesIEC(82854982))
fmt.Println("Comma:", FormatNumberWithCommas(1234567890))
fmt.Println("Ordinal:", FormatOrdinal(42))
}
{
"schemaVersion": 1,
"goal": "format byte sizes and numbers with dustin go-humanize",
"kind": "HOW",
"packages": [
"pkg:golang/github.com/dustin/go-humanize@v1.0.1"
]
}
package main
import (
"fmt"
"os"
"github.com/dustin/go-humanize"
)
func assertEqual(name, actual, expected string) {
if actual != expected {
fmt.Fprintf(os.Stderr, "Assertion failed for %s: got %q, expected %q\n", name, actual, expected)
os.Exit(1)
}
}
func main() {
// humanize.Bytes formats byte sizes into decimal SI units (1000 base)
assertEqual("humanize.Bytes(82854982)", humanize.Bytes(82854982), "83 MB")
assertEqual("humanize.Bytes(1000)", humanize.Bytes(1000), "1.0 kB")
// humanize.IBytes formats byte sizes into binary IEC units (1024 base)
assertEqual("humanize.IBytes(1024)", humanize.IBytes(1024), "1.0 KiB")
assertEqual("humanize.IBytes(1048576)", humanize.IBytes(1048576), "1.0 MiB")
// humanize.Comma formats numbers with comma separators
assertEqual("humanize.Comma(1234567890)", humanize.Comma(1234567890), "1,234,567,890")
assertEqual("humanize.Comma(-9876543)", humanize.Comma(-9876543), "-9,876,543")
// humanize.Ordinal formats integers into ordinal representations
assertEqual("humanize.Ordinal(1)", humanize.Ordinal(1), "1st")
assertEqual("humanize.Ordinal(2)", humanize.Ordinal(2), "2nd")
assertEqual("humanize.Ordinal(3)", humanize.Ordinal(3), "3rd")
assertEqual("humanize.Ordinal(4)", humanize.Ordinal(4), "4th")
assertEqual("humanize.Ordinal(11)", humanize.Ordinal(11), "11th")
assertEqual("humanize.Ordinal(21)", humanize.Ordinal(21), "21st")
fmt.Println("All contract assertions passed successfully.")
}
Исходный сидер
аноним