From 0124fc6acecedfcd77cd835289c36161bd7efcaa Mon Sep 17 00:00:00 2001 From: "a.pivkin" Date: Thu, 25 Dec 2025 21:11:11 +0300 Subject: [PATCH] sdf --- go_book/proj1/go.mod | 2 ++ go_book/proj1/go.sum | 2 ++ go_book/proj1/main.go | 28 ++++++++++++++++++++++------ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 go_book/proj1/go.sum diff --git a/go_book/proj1/go.mod b/go_book/proj1/go.mod index 529d5da..787a222 100644 --- a/go_book/proj1/go.mod +++ b/go_book/proj1/go.mod @@ -1,3 +1,5 @@ module proj1 go 1.24.5 + +require go.uber.org/zap v1.27.1 diff --git a/go_book/proj1/go.sum b/go_book/proj1/go.sum new file mode 100644 index 0000000..7729b1f --- /dev/null +++ b/go_book/proj1/go.sum @@ -0,0 +1,2 @@ +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= diff --git a/go_book/proj1/main.go b/go_book/proj1/main.go index eb2ecdf..7f9ea4c 100644 --- a/go_book/proj1/main.go +++ b/go_book/proj1/main.go @@ -2,13 +2,29 @@ package main import ( "fmt" - "os" - // "strings" + "strconv" + "go.uber.org/zap/buffer" ) +func addCommas(n int) string { + str := strconv.Itoa(n) + + // Add commas from right to left + var result buffer.Buffer + for i := range str { + if i > 0 && (len(str)-i)%3 == 0 { + fmt.Fprint(&result,",") + } + result.WriteByte(str[i]) + } + + return result.String() +} + func main() { - // var sum string - for key,val := range os.Args[:]{ - fmt.Println("num is",key,"value is", val) - } + numbers := []int{12345, 1234567, 987654321, 12345, 123, 0} + + for _, num := range numbers { + fmt.Printf("%d -> %s\n", num, addCommas(num)) + } } \ No newline at end of file