Линтеры повышают качество кода, находя ошибки еще на этапе разработки. Это помогает избежать ошибок в продакшене.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Anonymous Quiz
38%
Увеличивает связанность
12%
Не влияет на связанность
22%
Уменьшает связанность
28%
Превращает связанность в наследование
🔥1
Anonymous Quiz
5%
Одиночка
8%
Наблюдатель
81%
Композиция
6%
Стратегия
💊1
Линтеры интегрируются в IDE или CI/CD пайплайны. Например, golangci-lint используется для анализа Go-кода.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Anonymous Quiz
51%
Агрегация заменяет наследование
9%
Агрегация и наследование несовместимы
10%
Агрегация требует наследования
30%
Агрегация и наследование могут использоваться вместе
🤯5💊3
Anonymous Quiz
3%
Горутины
96%
Интерфейсы
1%
Каналы
0%
Срезы
👍3💊3
Это инструмент для мониторинга и алертинга. Он собирает метрики, сохраняет их в виде временных рядов и предоставляет мощный язык запросов для анализа данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Anonymous Quiz
6%
Через наследование классов
2%
Через перегрузку функций
89%
Через реализацию интерфейсов
3%
Через динамическую типизацию
👍2
Anonymous Quiz
15%
Использование интерфейса io.Reader
27%
Использование структур с одинаковыми методами
25%
Использование функции append для разных типов срезов
33%
Использование пакета fmt
💊11🤔1
1. Чтение возможно – если в канале остались данные, они будут возвращены.
2. Получение zero-value – если канал пуст, возвращается нулевое значение типа (0 для int, "" для string и nil для указателей).
3. ok == false – можно проверить факт закрытия с помощью второго параметра при чтении (val, ok := <-chan).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3🤯1💊1
Anonymous Quiz
1%
Удаляет элемент из среза
88%
Добавляет элемент в срез
11%
Создает новый срез
0%
Сортирует срез
💊13
Anonymous Quiz
2%
Уменьшает вдвое
2%
Не изменяет
96%
Увеличивает, если это необходимо
0%
Устанавливает в ноль
👍2
1. Горутина ждет данные, а никто не пишет в канал (<-chan, но нет chan <-).
2. Основная горутина завершилась, а другие ждут завершения.
3. Все горутины заблокированы на ожидании данных (select { case <-ch1: case <-ch2: } – если ни один не отправляет данные).
4. Закрыли канал, но кто-то пытается в него записать – вызывает panic.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💊5🔥3
Anonymous Quiz
17%
Использование пакетов
60%
Использование интерфейсов
19%
Использование анонимных функций
4%
Использование пакета sync
Anonymous Quiz
73%
Да, но только срезов одного типа
14%
Нет, append не предназначена для этого
11%
Да, любых срезов
2%
Только если второй срез пустой
🔥1😁1
Это состояние, при котором все горутины ожидают события, которое не наступит. Go детектирует deadlock и вызывает panic, если основная горутина заблокирована на ожидании данных из канала, но нет активных писателей.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Anonymous Quiz
9%
1024 элемента
32%
Зависит от системы
49%
Нет ограничений
9%
65536 элементов
Anonymous Quiz
8%
структура:поле
85%
структура.поле
2%
структура->поле
5%
структура[поле]
👀4🤯2❤1💊1
Это неинициализированный канал (var ch chan int).
- Чтение из nil-канала – блокирует горутину навсегда.
- Запись в nil-канал – блокирует горутину навсегда.
Nil-каналы используются для динамического управления каналами в select, когда временно не нужно обрабатывать канал.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤1👀1
Anonymous Quiz
2%
Код скомпилируется без ошибок
7%
Будет предупреждение, но код скомпилируется
87%
Произойдет ошибка компиляции
5%
Поле будет автоматически экспортировано
👍4