Библиотека задач по Go | тесты, код, задания
前往频道在 Telegram
Задачи и тесты по Go для тренировки и обучения. Учиться у нас: clc.to/4o0_XA По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
显示更多6 687
订阅者
-824 小时
-257 天
-6230 天
正在加载数据
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
十月 '2610月 '26
十月 '26
+39
在2个频道中
九月 '26
+63
在0个频道中
Get PRO
八月 '26
+67
在1个频道中
Get PRO
七月 '26
+104
在2个频道中
Get PRO
六月 '26
+90
在2个频道中
Get PRO
五月 '26
+97
在1个频道中
Get PRO
四月 '26
+119
在1个频道中
Get PRO
三月 '26
+174
在1个频道中
Get PRO
二月 '26
+368
在3个频道中
Get PRO
一月 '26
+215
在1个频道中
Get PRO
十二月 '25
+191
在4个频道中
Get PRO
十一月 '25
+111
在2个频道中
Get PRO
十月 '25
+106
在1个频道中
Get PRO
九月 '25
+85
在1个频道中
Get PRO
八月 '25
+151
在3个频道中
Get PRO
七月 '25
+135
在1个频道中
Get PRO
六月 '25
+124
在1个频道中
Get PRO
五月 '25
+141
在1个频道中
Get PRO
四月 '25
+161
在1个频道中
Get PRO
三月 '25
+325
在52个频道中
Get PRO
二月 '25
+168
在31个频道中
Get PRO
一月 '25
+296
在35个频道中
Get PRO
十二月 '24
+318
在35个频道中
Get PRO
十一月 '24
+272
在37个频道中
Get PRO
十月 '24
+262
在35个频道中
Get PRO
九月 '24
+260
在35个频道中
Get PRO
八月 '24
+282
在35个频道中
Get PRO
七月 '24
+356
在36个频道中
Get PRO
六月 '24
+299
在29个频道中
Get PRO
五月 '24
+301
在35个频道中
Get PRO
四月 '24
+382
在35个频道中
Get PRO
三月 '24
+423
在29个频道中
Get PRO
二月 '24
+341
在29个频道中
Get PRO
一月 '24
+423
在24个频道中
Get PRO
十二月 '23
+499
在28个频道中
Get PRO
十一月 '23
+455
在7个频道中
Get PRO
十月 '23
+1 457
在22个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 26 十月 | 0 | |||
| 25 十月 | +2 | |||
| 24 十月 | +1 | |||
| 23 十月 | 0 | |||
| 22 十月 | +4 | |||
| 21 十月 | +2 | |||
| 20 十月 | +1 | |||
| 19 十月 | +3 | |||
| 18 十月 | +1 | |||
| 17 十月 | +2 | |||
| 16 十月 | +3 | |||
| 15 十月 | +1 | |||
| 14 十月 | +5 | |||
| 13 十月 | +5 | |||
| 12 十月 | +1 | |||
| 11 十月 | +1 | |||
| 10 十月 | 0 | |||
| 09 十月 | +1 | |||
| 08 十月 | +1 | |||
| 07 十月 | 0 | |||
| 06 十月 | +3 | |||
| 05 十月 | 0 | |||
| 04 十月 | 0 | |||
| 03 十月 | 0 | |||
| 02 十月 | +1 | |||
| 01 十月 | +1 |
频道帖子
Можно ли увеличить поле структуры прямо внутри map?
Go 1.22+. Скомпилируется ли программа и что выведет?
package main
import "fmt"
type User struct{ Score int }
func main() {
users := map[string]User{
"ann": {Score: 1},
}
users["ann"].Score++
fmt.Println(users["ann"].Score)
}
👾 — 1
👍 — Ошибка компиляции
🥰 — 2
⚡️ — Паника во время выполнения
Ответ: 👍 — Ошибка компиляции.
Значение структуры, полученное через индексирование map, не предоставляет адресуемое поле для такого изменения. Можно получить копию: user := users["ann"], изменить user.Score и записать структуру обратно: users["ann"] = user. При этом users["ann"]++ для map[string]int — другая операция, она допустима.
Правило в спецификации Go
Библиотека задач по Go| 2 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 489 |
| 3 | Изменит ли range исходный срез структур?
Go 1.22+. Что выведет программа?
package main
import "fmt"
type User struct{ Score int }
func main() {
users := []User{{Score: 1}, {Score: 2}}
for _, user := range users {
user.Score += 10
}
fmt.Println(users[0].Score, users[1].Score)
}
👾 — 11 12
👍 — 11 2
🥰 — 1 2
⚡️ — Ошибка компиляции
Ответ: 🥰 — 1 2.
В user попадает копия очередной структуры. Меняется поле этой копии, а элементы среза остаются прежними. Чтобы изменить исходные значения, можно перебирать индексы и выполнять users[i].Score += 10. Правило новых переменных цикла в Go 1.22 не превращает копию структуры в ссылку.
Правило в спецификации Go
Библиотека задач по Go | 541 |
| 4 | Когда append изменит общий массив, а когда создаст новый?
Go 1.22+. Что выведет программа?
package main
import "fmt"
func main() {
a := [4]int{1, 2, 3, 4}
free := a[:2]
limited := a[:2:2]
x := append(free, 9)
y := append(limited, 8)
fmt.Println(a[2], x[2], y[2])
}
👾 — 9 9 8
👍 — 8 8 8
🥰 — 3 9 8
⚡️ — Ошибка компиляции
Ответ: 👾 — 9 9 8.
У free длина 2 и ёмкость 4: append использует исходный массив и записывает 9 в a[2]. У limited длина и ёмкость равны 2. Для добавления элемента нужен новый массив, поэтому y[2] равен 8, а a[2] остаётся 9. Само выражение a[:2:2] копию массива не создаёт.
Правило в спецификации Go
Библиотека задач по Go | 571 |
| 5 | Почему два defer видят разные значения одной переменной?
Go 1.22+. Что выведет программа?
package main
import "fmt"
func main() {
n := 1
defer fmt.Println("arg", n)
defer func() {
fmt.Println("closure", n)
}()
n = 2
}
👾 — arg 1, затем closure 2
👍 — closure 1, затем arg 1
🥰 — arg 2, затем closure 2
⚡️ — closure 2, затем arg 1
Ответ: ⚡️ — closure 2, затем arg 1.
Аргумент n для fmt.Println вычисляется при выполнении первого defer и сохраняется как 1. Замыкание читает переменную позднее и видит 2. Отложенные вызовы выполняются в обратном порядке регистрации: сначала замыкание, затем fmt.Println с сохранённым аргументом.
Правило в спецификации Go
Библиотека задач по Go | 634 |
| 6 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 660 |
| 7 | Какое значение запомнит метод, сохранённый в переменную?
Go 1.22+. Что выведет программа?
package main
import "fmt"
type Counter struct{ N int }
func (c Counter) Value() int {
return c.N
}
func main() {
c := Counter{N: 1}
saved := c.Value
c.N = 2
fmt.Println(saved(), c.Value())
}
👾 — 2 2
👍 — 1 2
🥰 — 1 1
⚡️ — Ошибка компиляции
Ответ: 👍 — 1 2.
При создании saved метод с получателем по значению сохраняет копию c, где N равен 1. Изменение исходной структуры не меняет эту копию. Прямой вызов c.Value() использует уже обновлённое значение N = 2.
Правило в спецификации Go
Библиотека задач по Go | 769 |
| 8 | Go 1.23 и новее. Потребитель range по функции завершил цикл через break. yield вернул false. Что обязан сделать итератор? | 1 030 |
| 9 | 没有文字... | 1 465 |
| 10 | 👀 Как вы смотрите видео?
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
🕰️ Опрос займёт около 3 минут.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
🔗 Поделиться опытом
🐸 Библиотека программиста | 815 |
| 11 | 🔴AI кодинг интервью с разработчиком из международного FinTech в четверг в 19:00
ДА! Вайбкодинг реально начали проверять на интервью, поэтому мы нашли собеседующего, который проводит AI-секцию в международном финтехе, чтобы вы увидели что на ней спрашивают и как к ней подготовиться.
Как это будет:
📂 Александр Дмитриев, разработчик из известного международного финтеха, ex-VK, ex-Ozon проведет вайбкодинг секцию разработчику-добровольцу;
📂 Александр будет задавать реальные вопросы с секций, которые проводил сам и комментировать ответы;
📂 В конце можно будет задать любой вопрос Александру.
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для разработчиков, которые хотят сменить работу, повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_go_bot
Реклама.
О рекламодателе. | 678 |
| 12 | Сколько элементов может быть в бакете у мапы? | 1 446 |
| 13 | 😭 Как не потратить недельный лимит AI-кодинга за три дня?
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
🔘 Поговорим о том:
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.
⬇️ 18 сентября, 19:00 МСК
⬇️ 1,5 часа · бесплатно
⬇️ Арсений Харланов и Олег Лайок
💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре.
🔗 Зарегистрироваться на вебинар | 1 310 |
| 14 | Горутины и каналы: основы параллелизма в Go. Бесплатный урок курса «Go-разработчик. Базовый уровень»
Конкурентность — одна из главных особенностей Go, но именно здесь начинающие разработчики чаще всего сталкиваются с трудноуловимыми ошибками. Неправильная работа с горутинами, каналами или синхронизацией может привести к состояниям гонки, взаимным блокировкам и утечкам ресурсов, которые сложно найти и исправить.
На открытом уроке 18 августа в 20:00 разберём, как устроен параллелизм в Go и как безопасно использовать горутины в своих проектах. Поговорим о различиях между горутинами и системными потоками, научимся запускать параллельные задачи, организовывать обмен данными через каналы и применять базовые механизмы синхронизации.
Урок будет полезен разработчикам, которые хотят уверенно использовать конкурентность Go в реальных приложениях.
👉 Записаться: https://otus.pw/D28A8/?erid=2W5zFGxyEad
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. | 510 |
| 15 | ❓ Что делает ключевое слово implements в Go | 1 424 |
| 16 | 👅 Самое сложное — выбрать не курс, а направление
Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science.
🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз.
В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков.
Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎
🔗 Узнать подробнее
🏃♀️ Proglib Academy | 996 |
| 17 | Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇 | 1 135 |
| 18 | ❓ Что вернёт append при добавлении в nil-слайс | 1 413 |
| 19 | ❓ Сравнимы ли две структуры через ==, если все их поля сравнимы | 1 424 |
| 20 | 🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами
Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️
На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка.
⚡️ Предзапись на осенний поток уже открыта
🏃♀️ Proglib Academy | 1 006 |
