Небуферизованный канал — строгий. Отправка и прием завершаются
Буферизованный канал хранит элементы в
При небуферизованном обмене с ожидающим получателем значение
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2
Канал с размером буфера 1 — это своего рода «промежуточный» вариант между небуферизованным и традиционно буферизованным каналом. Он позволяет одному элементу находиться в канале
Если буфер пуст, то отправитель записывает значение в буфер и
Если буфер заполнен этим одним элементом, дальнейшая отправка
Получатель, если буфер пуст, будет
Это часто используется для случаев, когда нужен небольшой буфер для
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Обращение к элементу в мапе работает за
При переаллокации данных сложность может
Это происходит, когда количество элементов в мапе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2
Это подсказка на
myMap := make(map[string]int, 3)
Второй параметр говорит Go, сколько
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Go автоматически выбирает размерность в зависимости от
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Оцените их по шкале 🔥,❤️,👍,😢, 🥱,
где 🔥 — это супер, а 🥱 — это скучно.
Также приветствуется фидбек в комментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤4👍4🥱2
Алиасы создаются с помощью ключевого слова
Основные кейсы использования алиасов:
• Если имя пакета или типа слишком длинное, алиас позволяет использовать сокращённое имя для удобства и читаемости
• При импорте двух пакетов с одинаковыми именами, алиасы используются для различия
import (
sqlDB "project/sql/db"
nosqlDB "project/nosql/db"
)
• Если в новой версии библиотеки типы были переименованы или перемещены, алиасы позволяют сохранить старые имена без изменения основного кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3😁1
Fan-out — это паттерн, при котором поток
Например, вместо того чтобы обрабатывать 100 запросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥2💯2
Fan-in — это паттерн обратный fan-out, когда результаты множества параллельных горутин
Реализация паттерна в Go часто использует каналы и
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Оцените их по шкале 🔥,❤️,👍,😢, 🥱,
где 🔥 — это супер, а 🥱 — это скучно.
Также приветствуется фидбек в комментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥10👍3
Ошибки нужно передавать через отдельный
errgroup, который объединяет Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
• Количество активных горутин.
• Задержки в обработке (latency).
• Время выполнения горутин.
• Использование CPU и памяти.
• Ошибки и тайм-ауты.
• Очередь ожидания в каналах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
Media is too big
VIEW IN TELEGRAM
🔥 Закрой пробелы в математике за 8 недель
Валишься на вопросах про математику на собесах?
Proglib Academy запускает курс «Математика для Data Science», чтобы помочь тебе получить вакансию мечты!
🔎 Тебя ждут:
→ топовые эксперты, один из них на видео — Мария Тихонова. Мария — кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ;
→ живые вебинары, на которых можно задать вопросы спикерам;
→ доступ к материалам в записи, если не успели на лекцию и чат;
→ 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса;
→ актуальные знания: программа разработана в ноябре 2025г;
→ программа без воды — 2 месяца только самого нужного для старта.
👉 Пройди короткий тест и узнай свой уровень математики.
Приятные бонусы:
🎁 скидка 40% до 30 ноября;
🎁 оплати до конца ноября → курс «Школьная математика» в подарок.
🔗 Подробнее о курсе
Валишься на вопросах про математику на собесах?
Proglib Academy запускает курс «Математика для Data Science», чтобы помочь тебе получить вакансию мечты!
🔎 Тебя ждут:
→ топовые эксперты, один из них на видео — Мария Тихонова. Мария — кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ;
→ живые вебинары, на которых можно задать вопросы спикерам;
→ доступ к материалам в записи, если не успели на лекцию и чат;
→ 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса;
→ актуальные знания: программа разработана в ноябре 2025г;
→ программа без воды — 2 месяца только самого нужного для старта.
👉 Пройди короткий тест и узнай свой уровень математики.
Приятные бонусы:
🎁 скидка 40% до 30 ноября;
🎁 оплати до конца ноября → курс «Школьная математика» в подарок.
🔗 Подробнее о курсе
В Go срезы и мапы ведут себя по-разному, когда не инициализированы:
nil-срез — это жизнеспособный срез с
var a []int
a = append(a, 4, 5, 6) // Go создал новый срез под эти значения
fmt.Println(a) // [4 5 6]
nil-мапа — это просто пустой
var m map[int]int
// m[1] = 1 // вызовет панику
m = make(map[int]int)
m[1] = 1 // теперь работает
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🎉1
Оба имеют длину 0 и ёмкость 0. Но nil-срез — это буквально
var nilSlice []int
emptySlice := []int{}
fmt.Println(nilSlice == nil) // true
fmt.Println(emptySlice == nil) // false
// Но в большинстве операций ведут себя одинаково
for range nilSlice { }
for range emptySlice { }
s := append(nilSlice, 1) // работает
s = append(emptySlice, 1) // работает
Различие заметно только при прямом сравнении с nil. В остальном — функционально эквивалентны.
🔹 Специалист по ИИ
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
context.Background() — это func main() {
ctx := context.Background()
// начало всей программы
}context.TODO() —
func processData() {
ctx := context.TODO() // TODO: заменить на нужный контекст
// временный вариант
}Оба создают не имеющий родителя контекст, но семантически они разные.
🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3