TGViewer
Channel Public Channel
Go in Action

Go in Action

@go_in_action

Всё про язык программирования Go на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Subscribers
4.11K
Photos
2.4K
Videos
3
Links
4K

Showing posts older than #4586 · Back to latest

Older Posts 20 shown
Post #4585 120
Как красиво печатать HTTP-запросы и ответы в Go

В статье показано, как с помощью net/http/httputil (DumpRequest, DumpRequestOut, DumpResponse) выводить запросы/ответы для отладки, включая тело, с примерами для клиента и сервера.

Подробнее: https://gosamples.dev/print-http-request/response-for-debugging-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🐜 Print HTTP request/response for debugging in Go Learn how to pretty print HTTP request and response
Post #4584 117
Do-while в Go: как эмулировать цикл, выполняющийся хотя бы раз

В статье объясняется, что в Go нет do-while, но его можно эмулировать двумя способами: for с начальным next := true и обновлением по условию, или бесконечный for с проверкой и break. Примеры с печатью i демонстрируют это.

Подробнее: https://gosamples.dev/do-while-loop-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🐉 Do-while loop in Go Learn how to simulate a popular programming loop
Post #4583 125
Как корректно копировать map в Go
В статье объясняется, что map в Go — ссылочный тип: присвоение создаёт поверхностную копию и изменения в одной переменной отразятся в другой. Для глубокого клона нужно создать новый map и через for range скопировать пары ключ-значение; приведены примеры кода и вывод.

Подробнее: https://gosamples.dev/copy-a-map-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 💕 Copy a map in Go Learn how to copy all elements of a map to another
Post #4582 135
Ограничение чтения до N байт в Go (io.LimitedReader)
В статье показано, как обернуть io.Reader через io.LimitedReader, чтобы читать ровно N байт без изменения логики чтения. Пример: чтение первых 8 байт строки даёт «https://». Полезно при работе с ответами сервера и файлами.

Подробнее: https://gosamples.dev/limit-read-bytes-using-io.limitedreader-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES ✋ Limit read bytes using io.LimitedReader in Go Learn how to read a specific number of bytes from io.Reader
Post #4581 139
Как создать бесконечный цикл в Go

В статье на GoSamples объясняется: в Go нет ключевого слова while, поэтому бесконечный цикл пишут через for { ... }. Приводится пример с fmt.Println и time.Sleep: for { fmt.Println("..."); time.Sleep(1*time.Second) }.

Подробнее: https://gosamples.dev/️-infinite-loop-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES ♾️ Infinite loop in Go Learn how to define a "while true" loop
Post #4580 155
Как превратить struct в io.Reader в Go — краткое руководство

В статье показано, как сериализовать struct в JSON и использовать bytes.Buffer или bytes.Reader как io.Reader для отправки HTTP POST. Приведены примеры с json.Encoder и json.Marshal и готовый рабочий код.

Подробнее: https://gosamples.dev/convert-a-struct-to-io.reader-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 📔 Convert a struct to io.Reader in Go Learn how to convert a struct to io.Reader and send it as an HTTP POST request body
Post #4579 164
Преобразование HTTP-ответа io.ReadCloser в строку (Go)

В статье показано, как прочитать resp.Body с помощью io.ReadAll, получить []byte и преобразовать в string на примере GET-запроса к example.com. Полезно для простого чтения и обработки HTTP-ответов в Go.

Подробнее: https://gosamples.dev/convert-http-response-io.readcloser-to-string-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 📟 Convert HTTP response io.ReadCloser to string in Go Learn how to convert a HTTP client response body to string
Post #4578 189
Введение в SQLite на Go — понятный туториал. В статье показано, как с помощью драйвера mattn/go-sqlite3 и паттерна Repository реализовать CRUD для сущности Website: Migrate, Create, Read, Update, Delete. Примеры кода, обработка ошибок и структура проекта. Go + SQLite: готовый CRUD‑репозиторий

В статье показано, как с помощью database/sql и драйвера mattn/go-sqlite3 в Go реализовать SQLite-репозиторий по паттерну Repository: миграция, Create/Read/Update/Delete и демонстрационный main. Код доступен на GitHub. CRUD в Go с SQLite: практический пример

В статье показан пример на Go: открытие SQLite, миграция схемы, создание и чтение записей, обновление, вывод всех записей и удаление. Полезно для тех, кто изучает работу с sql.DB и паттерном репозиториев.

Подробнее: https://gosamples.dev/️-introductory-tutorial-to-sqlite-in-go/

#en

@go_in_action | Другие наши каналы
Post #4577 186
Конкатенация строк в Go: какой метод выбрать?

В статье разбор способов объединения строк в Go — +, fmt.Sprintf, strings.Builder, strings.Join, bytes.Buffer и байтовые срезы. Описаны плюсы/минусы и бенчмарки; для длинных или динамических сборок рекомендуют strings.Builder. Бенчмарк конкатенации строк в Go — результаты
В статье протестировали методы объединения строк: оператор + значительно медленнее. Лучшие результаты у strings.Join и strings.Builder (в тесте Join оказался быстрее). Предварительное выделение памяти даёт ускорение; bytes.Buffer и байтовые слайсы уступают.

Подробнее: https://gosamples.dev/concatenate-strings-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🍒 Concatenate strings in Go Learn the differences between string concatenation methods
Post #4576 185
Как обрабатывать ошибку 'connection reset by peer' в Go
В статье показано, как воспроизвести и обнаружить ошибку (errors.Is(err, syscall.ECONNRESET)), объяснено отличие от broken pipe и даны практические советы — логировать, игнорировать или повторить подключение при возникновении RST.

Подробнее: https://gosamples.dev/handle-connection-reset-by-peer-error-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🔌 Handle 'connection reset by peer' error in Go Learn what it means and how to detect the 'connection reset by peer' error
Post #4575 187
Как закодировать строку в Base64 в Go

На сайте GoSamples объясняется использование пакета encoding/base64 и метода StdEncoding.EncodeToString: строку конвертируют в []byte и получают Base64-строку. Приведен пример кода и вывод, полезно для быстрого применения в проектах на Go.

Подробнее: https://gosamples.dev/encode-a-string-to-base64-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 👉 Encode a string to Base64 in Go Learn how to encode strings to Base64 using encoding/base64 package
Post #4574 173
Декодирование Base64 в Go — простая инструкция
Кратко: статья показывает, как с помощью пакета encoding/base64 и функции DecodeString получить байты и преобразовать их в строку. Приведен пример кода и объяснение StdEncoding (RFC 4648). Полезно для начинающих Go.

Подробнее: https://gosamples.dev/decode-base64-to-a-string-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 👈 Decode Base64 to a string in Go Learn how to decode Base64 data to a string using encoding/base64 package
Post #4573 164
Конвертация string ↔ []byte в Go: простое объяснение
В статье объясняют: преобразовать string в []byte через []byte(s), обратно — string(b). Строки в Go неизменяемы, срезы байт можно менять. При UTF-8 for и for range работают по-разному: range по строке возвращает руны, по []byte — байты.

Подробнее: https://gosamples.dev/️-convert-string-to-byte-or-byte-to-string-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🖨️ Convert string to []byte or []byte to string in Go Learn the difference between a string and a byte slice
Post #4572 161
Как вывести адрес памяти в Go
В статье показано, как получить и вывести адрес переменной, указателя, массива, среза, структуры и map с помощью оператора & и пакета fmt (fmt.Println, fmt.Printf с %p и %#p). Описаны особенности для срезов (%p — адрес 0‑го элемента), map и fmt.Sprintf.

Подробнее: https://gosamples.dev/print-the-memory-address-of-a-variable-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🧠 Print the memory address of a variable in Go Learn how to find and print the address of a variable or pointer
Post #4571 161
Ошибка Go: cannot take address of XXX — причины и решения
Кратко: в статье объясняют, почему литералы, элементы map и возвращаемые значения неадресуемы (операнд неадресуемый) и показывают практичные обходы: вспомогательная переменная, helper-функция, new(), анонимная функция и приём со слайсом.

Подробнее: https://gosamples.dev/️-solve-cannot-take-address-of-xxx-error-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🕵️ Solve 'cannot take address of XXX' error in Go Learn how to take the address of a literal, map value, or function return value
Post #4570 155
Преобразование строки в bool в Go

В статье показано, как использовать strconv.ParseBool: строки "1","t","T","TRUE","true","True" интерпретируются как true, "0","f","F","FALSE","false","False" — как false. Любая другая строка вызывает ошибку.

Подробнее: https://gosamples.dev/convert-string-to-bool-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🔟 Convert string to bool in Go Learn how to parse a string as a bool
Post #4569 151
Как убрать лишние пробелы в Go — два простых способа

Статья показывает два метода: strings.Fields() + strings.Join() — разбивает по пробельным символам и собирает с одним пробелом; и regexp с паттерном \s+ — заменяет группы пробелов на один. Примеры кода и результат приведены в статье.

Подробнее: https://gosamples.dev/remove-duplicate-spaces-from-a-string-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 👯 Remove duplicate spaces from a string in Go Learn how to remove all redundant whitespaces from a string
Post #4568 161
Как в Go обработать ошибку 'broken pipe'

В статье объясняется природа ошибки при записи в закрытое TCP‑соединение, приведён пример сервер/клиент и показано, как обнаружить её через errors.Is(err, syscall.EPIPE). Даны рекомендации: логировать, игнорировать или переподключаться.

Подробнее: https://gosamples.dev/handle-broken-pipe-error-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 🪠 Handle 'broken pipe' error in Go Learn how to detect the 'broken pipe' error when writing an HTTP response
Post #4567 168
Создание директорий в Go — os.Mkdir и os.MkdirAll

Коротко: в статье показано, как создать одну папку с os.Mkdir и иерархию с os.MkdirAll, почему os.Mkdir выдаст ошибку для пути вида «a/b/c», и как применять os.ModePerm (0777). Есть простые примеры кода.

Подробнее: https://gosamples.dev/create-a-directory-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 📁 Create a directory in Go Learn how to create a single or a hierarchy of directories
Post #4566 175
Конвертация JSON в CSV на Go

В статье показано пошагово: определить struct для данных, декодировать JSON через json.Decoder в срез структур и записать строки в CSV через encoding/csv (csv.Writer, заголовок, Flush). Приведен пример кода и итоговый файл data.csv.

Подробнее: https://gosamples.dev/convert-json-to-csv-in-go/

#en

@go_in_action | Другие наши каналы
GOSAMPLES 📎 Convert JSON to CSV in Go Learn how to transform JSON file to CSV
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →