Для преобразования используется утверждение типа (type assertion): value, ok := interfaceValue.(TargetType). Оно проверяет, принадлежит ли значение интерфейса целевому типу.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2💊2
Anonymous Quiz
81%
person := Person{}
9%
person := new(Person)
2%
person := Person()
8%
person := make(Person)
💊10
Anonymous Quiz
15%
Синглтон
8%
Наблюдатель
61%
Декоратор
16%
Стратегия
💊1
Да, JOIN можно использовать со вложенными (subquery) запросами. Варианты:
- JOIN с подзапросом, возвращающим таблицу (SELECT ... FROM (SELECT ...) AS subquery JOIN ...).
- JOIN с подзапросом в ON (SELECT ... FROM table1 JOIN (SELECT ...) AS subquery ON ...).
- Использование подзапроса в WHERE или IN, но это менее эффективно, чем JOIN.
Вложенные запросы могут снижать производительность, поэтому лучше использовать индексы и анализировать EXPLAIN.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
66%
Сложность управления зависимостями
4%
Повышенная производительность
4%
Упрощение кода
26%
Снижение модульности
💊7
Anonymous Quiz
48%
Максимальное количество пар ключ-значение
21%
Количество пар ключ-значение
17%
Размер карты в байтах
14%
Нулевое значение
💊9
Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
Характеристики:
- Ленивая инициализация (создаётся при первом вызове).
- Применяется для объектов, которые должны быть уникальны: логгеры, конфигурация, доступ к БД.
- В Go реализуется через глобальные переменные и sync.Once для потокобезопасной инициализации.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Anonymous Quiz
74%
Для синхронизации горутин
4%
Для работы с файлами
19%
Для математических вычислений
3%
Для работы с сетями
💊12
Anonymous Quiz
93%
func (p *Person) SetAge(newAge int) { p.age = newAge }
1%
method SetAge(p Person, newAge int) { p.age = newAge }
5%
func SetAge(p *Person, newAge int) { p.age = newAge }
1%
method (p Person) SetAge(newAge int) { p.age = newAge }
💊7
Нельзя: Изменять данные внутри канала без защиты, если они используются несколькими горутинами.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6
Anonymous Quiz
33%
Apache License 2.0
56%
MIT License
7%
GPLv2
5%
BSD License
💊23
Anonymous Quiz
73%
fmt
2%
stringutil
4%
format
21%
string.Format()
💊4
Срезать можно через оператор [start:end]:
1. Новый слайс будет ссылаться на тот же массив, что и оригинал.
2. Изменение элементов в новом слайсе отразится на оригинале.
3. Если указать только start или end, будут использованы начальные или конечные значения: slice[start:] или slice[:end].
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Anonymous Quiz
95%
Интерфейсы
1%
Классы
2%
Наследование
2%
Перегрузка операторов
💊9
Anonymous Quiz
19%
GET
78%
POST
2%
PUT
0%
DELETE
🤔4💊3
Куча — это область памяти, где:
- Выделение динамическое (во время выполнения).
- Используется для объектов переменной длины и длительного хранения.
- Управляется аллокатором или сборщиком мусора.
- Может фрагментироваться.
- Поддерживает аллокации разного размера, отслеживает свободные блоки.
В языках с GC куча управляется автоматически. В C/C++ — вручную через malloc/free.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
41%
ReadBytes
19%
SecureRead
24%
RandomBytes
17%
Read
Anonymous Quiz
93%
func name() (string, string)
4%
func name() {string, string}
2%
func name() [string, string]
0%
func name()
💊9
Если у метода ресивер с *, это означает, что метод работает с указателем на объект, а значит:
- изменения внутри метода повлияют на оригинальный объект;
- метод может модифицировать поля структуры;
- вызов возможен как на указателе, так и на значении (Go сам "разыменует").
Такой метод можно вызывать и на value, и на pointer — Go сделает автоматическую конвертацию.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Anonymous Quiz
37%
Decrypt
3%
Uncipher
56%
Decode
4%
Unencrypt
💊4
Anonymous Quiz
15%
func add(int a, int b) int
72%
func add(a int, b int) int
3%
function add(a int, b int) int
11%
func add(a int, b int)
💊15