GGo tests

Go tests

@golangtests🔌 Гаджеты🇬🇧 English📅 март 2026 г.

По всем вопросам- @haarrp @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - go chat jobs

📊 Полная статистика📝 Все посты
##junior#golang
7.9K
Подписчики
2.8K
Ср. охват
36%
Вовлечённость
20
Постов
~0.1
В день

Графики

📊 Средний охват постов

📉 ERR % по дням

📋 Публикации по дням

📎 Типы контента

Лучшие публикации

20 из 20
Ggolangtests
golangtests
14 нояб., 15:10

👣 Вот ещё одна задача на Go, которая проверяет знание интерфейсов, nil и типов - частая ловушка даже для опытных разработчиков package main import ( "errors" "fmt" ) type myError struct{} func (m myError) Error() string { return "something went wrong" } func returnsNilError() error { var e myError = nil return e } func main() { err := returnsNilError() fmt.Println("err == nil:", err == nil) // неожиданно false fmt.Println("err:", err) } Вывод: err == nil: false err: something went wrong ⚡️ Запл...

👁 12.2K🎬 video
Ggolangtests
golangtests
17 дек., 10:46

🚀 Как Go 1.26 ловит утечки горутин Перед тобой классический пример утечки goroutine, который долгое время было сложно отлавливать автоматически. Проблема возникает, когда: - используются небуферизированные каналы - запускаются goroutine в цикле - происходит ранний return по ошибке В такой ситуации часть goroutine продолжает попытки записи в канал, но получателя уже нет — они зависают навсегда. Раньше такие баги: - проявлялись только под нагрузкой - маскировались как рост памяти или странные тай...

👁 3.2K🎬 video
Ggolangtests
golangtests
31 дек., 08:40

🎄 Новогодняя елка на Golang 🎁 Как быстро быстро вывести новогоднюю ёлку в консоль, используя вложенные циклы и простую работу со строками. Отличный пример для тренировки логики и работы с циклами. Подписывайся, больше фишек каждый день ! package main import "fmt" func main() { height := 8 for i := 1; i <= height; i++ { // пробелы for s := 0; s < height-i; s++ { fmt.Print(" ") } // ветви for j := 0; j < 2i-1; j++ { fmt.Print("") } fmt.Println() } // ствол for i := 0; i < 2; i++ { for s := 0; s ...

👁 3.1K🎬 video
Ggolangtests
golangtests
20 янв., 15:17

👣 Go 1.26: bytes.Buffer.Peek() - заглянуть в буфер без чтения В Go 1.26 добавили очень удобный метод: Buffer.Peek(n) в пакете bytes. Что делает: - возвращает следующие N байт - не сдвигает указатель чтения - то есть можно “подсмотреть”, что впереди, и не портить поток Это идеальная штука для: - парсеров протоколов - stream processing - проверок заголовков/сигнатур - peek-before-read логики Важный нюанс: Peek() возвращает срез, который указывает прямо на внутренний буфер. То есть: - он валиден, ...

👁 3.0K📷 photo
Ggolangtests
golangtests
9 янв., 08:04

👣 Что выведет программа построчно? package main import "fmt" func main() { s := make([]int, 2, 3) s[0], s[1] = 1, 2 a := s[:2] b := append(s, 3) modify(a) modify(b) fmt.Println(s) fmt.Println(a) fmt.Println(b) } func modify(x []int) { x = append(x, 100) x[0] = 999 } - Какие append используют тот же underlying array, а какие нет? - В какой момент происходит реаллокация памяти? Подсказка: s, a и b сначала делят один backing array, но не все изменения доходят до всех слайсов. Ответ: [999 2] [999 2...

👁 3.0K📷 photo
Ggolangtests
golangtests
23 нояб., 09:16

🚀 САМЫЙ ЭФФЕКТИВНЫЙ АЛГОРИТМ ПОИСКА В GO Бинарный поиск - один из самых быстрых способов найти элемент в отсортированном слайсе. Вместо полного прохода он делит диапазон пополам, работая за O(log n). Используй его везде, где данные можно заранее отсортировать - прирост скорости огромный. package main import "fmt" func binSearch(a []int, t int) bool { l, r := 0, len(a)-1 for l <= r { m := (l + r) / 2 if a[m] == t { return true } if a[m] < t { l = m + 1 } else { r = m - 1 } } return false } func ...

👁 2.9K🎬 video
Ggolangtests
golangtests
26 янв., 11:05

👣 Понимание выравнивания памяти в Go В Go важно понимать, как компилятор размещает данные в памяти - это напрямую влияет на скорость работы и объём используемой памяти. Что такое выравнивание? Выравнивание памяти - это правило: данные должны находиться по адресам, кратным их размеру. Это нужно, чтобы процессор мог читать и записывать значения за одну операцию. Например: - int64 требует выравнивания по 8 байтам - int32 - по 4 байтам - byte - по 1 байту Если значение лежит “неудобно”, CPU делает ...

👁 2.6K📷 photo
Ggolangtests
golangtests
10 дек., 17:02

❓ Что выведет программа? И объясни, почему вывод - НЕ тот, который ожидает большинство 🙂 package main import "fmt" func main() { s := []int{1, 2, 3, 4} t := s[:2] // [1 2] u := s[2:] // [3 4] // Изменяем через t t = append(t, 9) // Изменяем через u u[0] = 99 fmt.Println("s:", s) fmt.Println("t:", t) fmt.Println("u:", u) } 🔥 Разбор t := s[:2] и u := s[2:] смотрят на один и тот же underlying array но append(t, 9) может либо • дописать в тот же массив, либо • выделить новый, если capacity закончи...

👁 2.6K📷 photo
Ggolangtests
golangtests
4 февр., 10:15

Это один из самых любимых вопросов на Go-собеседованиях. Проверяют, понимаешь ли ты, как устроены slice, len / cap и что реально делает append. Что выведет программа? package main import "fmt" func add(s []int) { s = append(s, 99) } func main() { a := make([]int, 2, 4) a[0], a[1] = 1, 2 add(a) fmt.Println("a:", a) fmt.Println("a[:3]:", a[:3]) } Разбор go a := make([]int, 2, 4) len = 2 cap = 4 underlying array = [1, 2, _, _] Слайс - это структура: go pointer -> array len cap При передаче в функци...

👁 2.5K
Ggolangtests
golangtests
1 дек., 07:22

👣 Как работает планировщик задач в Golang под капотом Планировщик задач в Golang работает по схеме G-P-M: горутины (G) распределяются по логическим процессорам (P), а те в свою очередь выполняются на системных потоках (M). Так достигается мультиплексирование миллионов горутин на ограниченное число потоков ОС. Когда горутина блокируется (syscall, mutex, канал без данных) - её паркуют, а поток освобождают. Когда появляется работа — планировщик перебрасывает G между очередями P и старается держать...

👁 2.5K🎬 video

Типы хуков

Нейтральный12 | 3.0K просм.
Вопрос6 | 2.4K просм.
Статистика2 | 3.1K просм.

Длина постов

Длинные (500-1000)10 | 3.3K просм.
Очень длинные (1000+)7 | 2.6K просм.
Средние (200-500)2 | 2.2K просм.

Влияние эмодзи

2.2K
С эмодзи (5)
3.0K
Без эмодзи (15)
-26.6% охвата

Типы контента

🎬
5
video
4.8K просм.
📷
12
photo
2.2K просм.
📝
3
text
2.1K просм.