
⚡️ Заказывайте в AI-каталоге — получайте скидку!
5% скидка на размещения в каналах, которые подобрал AI. Промокод: TELEGA-AI
Подробнее

РегистрацияВойтиВойти
Скидка 3,5% на первые три заказа
Получите скидку на первые три заказа!
Зарегистрируйтесь и получите скидку 3,5% на первые рекламные кампании — промокод активен 7 дней.
6.0

Golang | Вопросы собесов
Поделиться
В избранное
Купить рекламу в этом канале
Формат:
keyboard_arrow_down
- 1/24
- 2/48
1 час в топе / 24 часа в ленте
Количество:
keyboard_arrow_down
- 1
- 2
- 3
- 4
- 5
- 8
- 10
- 15
Стоимость публикации:
local_activity
7 832.16₽7 832.16₽local_mall
0.0%
Осталось по этой цене:0
Последние посты канала
🤔 Как преобразовать строку в Int и наоборот?
Это удобно, безопасно и используется повсеместно при работе с пользовательским вводом или отображением чисел.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
470
19:10
25.07.2025
imageИзображение не доступно для предпросмотра
Дарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких 30 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте бесплатно❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
410
23:02
25.07.2025
🤔 Как можно нарезать слайс: нюансы и подводные камни?
Нарезка (slicing) — это создание нового слайса, который указывает на подмножество элементов исходного слайса. Этот процесс включает указание начального и конечного индексов для создания нового слайса. Несмотря на свою простоту, slicing имеет несколько нюансов и потенциальных подводных камней, которые важно учитывать.
🚩Основы нарезки
Синтаксис
newSlice := originalSlice[start:end]{}
start
: начальный индекс (включительно).
end
: конечный индекс (исключительно).
Пример
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
newSlice := original[1:4] // Элементы с индексами 1, 2 и 3
fmt.Println(newSlice) // [2 3 4]
}{}
🚩Нюансы и подводные камни
🟠Индекс выхода за границы
При нарезке слайса важно, чтобы индексы start
и end
были в пределах длины исходного слайса. Нарушение этого правила приведет к панике (runtime panic).
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
// Это вызовет панику: runtime error: slice bounds out of range
// newSlice := original[1:6]
// Правильное использование
newSlice := original[1:5]
fmt.Println(newSlice) // [2 3 4 5]
}
{}
🟠Модификация исходного слайса
Слайсы в Go работают как ссылки на массивы. Это означает, что если вы модифицируете элементы нового слайса, то изменения отразятся и в исходном слайсе.
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
newSlice := original[1:4]
newSlice[0] = 20
fmt.Println("Original:", original) // [1 20 3 4 5]
fmt.Println("New Slice:", newSlice) // [20 3 4]
}
{}
🟠Изменение длины и емкости
Длина нового слайса определяется как end - start
. Емкость нового слайса определяется как cap(original) - start
.
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
newSlice := original[1:4]
fmt.Println("New Slice Length:", len(newSlice)) // 3
fmt.Println("New Slice Capacity:", cap(newSlice)) // 4
}
{}
🟠Создание копий слайсов
Если нужно создать независимую копию слайса, следует использовать функцию copy
, чтобы изменения в новом слайсе не влияли на исходный.
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
newSlice := make([]int, 3)
copy(newSlice, original[1:4])
newSlice[0] = 20
fmt.Println("Original:", original) // [1 2 3 4 5]
fmt.Println("New Slice:", newSlice) // [20 3 4]
}
{}
🟠Использование полной формы нарезки
Полная форма нарезки позволяет явно указать емкость нового слайса:
newSlice := original[start:end:max{}
Это полезно, когда вы хотите контролировать емкость нового слайса.
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
newSlice := original[1:3:4]
fmt.Println("New Slice:", newSlice) // [2 3]
fmt.Println("New Slice Capacity:", cap(newSlice)) // 3
}{}
Ставь 👍 и забирай 📚 Базу знаний271
10:05
26.07.2025
🤔 Каков порядок перебора
map
?
Порядок перебора в map случайный и не гарантируется, так как он оптимизирован для эффективности, а не для последовательности.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний91
19:10
26.07.2025
imageИзображение не доступно для предпросмотра
«Был такой кейс»: подкаст с историями из мира бизнеса
Столкнулись с проблемой в бизнесе? Пишите, наши эксперты разберут её в выпуске
Перейти на сайт
#реклама
sberbusiness.live
О рекламодателе
37
21:49
26.07.2025
🤔 Что возвращает оператор "квадратные скобки" для строки ?
Оператор "квадратные скобки" (
[]
) при применении к строке используется для доступа к отдельным байтам в этой строке. Строки представлены как последовательности байтов, и оператор []
позволяет получить байт по указанному индексу.
package main
import (
"fmt"
)
func main() {
str := "hello"
// Получаем байт по индексу
firstByte := str[0]
// Выводим байт и его символ
fmt.Printf("Первый байт: %d\n", firstByte) // Выводит: 104
fmt.Printf("Первый символ: %c\n", firstByte) // Выводит: h
}{}
🚩Объяснение
1⃣Доступ к байту
В этой строке кода мы получаем байт, расположенный по индексу 0
в строке str
. В данном случае это байт, соответствующий символу 'h'.
firstByte := str[0] {}
2⃣Вывод байта в числовом формате
Здесь мы выводим байт в виде целого числа. Поскольку символ 'h' имеет ASCII-код 104, вывод будет 104
.
fmt.Printf("Первый байт: %d\n", firstByte) {}
3⃣Вывод байта как символа
Мы также можем вывести байт как символ, используя формат %c
. Это отобразит символ 'h'.
fmt.Printf("Первый символ: %c\n", firstByte) {}
🚩Работа с Unicode
Важно понимать, что строки являются последовательностями байтов, а не символов. Это означает, что доступ по индексу с помощью []
дает байт, а не руну (rune). Если строка содержит многобайтовые символы (например, символы Unicode), то доступ по индексу может вернуть только один из байтов, составляющих символ.
package main
import (
"fmt"
)
func main() {
str := "Привет"
// Получаем байт по индексу
firstByte := str[0]
// Выводим байт и его символ
fmt.Printf("Первый байт: %d\n", firstByte) // Выводит: 208
fmt.Printf("Первый символ: %c\n", firstByte) // Выводит: � (неполный символ)
}{}
Для корректной работы с многобайтовыми символами (рунами) в строках используется преобразование строки в срез рун
package main
import (
"fmt"
)
func main() {
str := "Привет"
// Преобразуем строку в срез рун
runes := []rune(str)
// Получаем руну по индексу
firstRune := runes[0]
// Выводим руну и её символ
fmt.Printf("Первая руна: %d\n", firstRune) // Выводит: 1055 (код Unicode для 'П')
fmt.Printf("Первый символ: %c\n", firstRune) // Выводит: П
}{}
Ставь 👍 и забирай 📚 Базу знаний53
10:05
27.07.2025
🤔 Как можно нарезать слайс? Какие есть нюансы, подводные камни?
Срезать можно через оператор [start:end]:
1. Новый слайс будет ссылаться на тот же массив, что и оригинал.
2. Изменение элементов в новом слайсе отразится на оригинале.
3. Если указать только start или end, будут использованы начальные или конечные значения: slice[start:] или slice[:end].
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
14
19:10
27.07.2025
imageИзображение не доступно для предпросмотра
Московский университет имени С.Ю. Витте (МУИВ)
👍Выбираешь университет, который даст старт твоей карьере?
Вот три факта о Московском университете им. С. Ю. Витте, после которых выбор станет очевидным:
— ТОП-30 вузов России по уровню трудоустройства выпускников (Минтруд РФ)
— ТОП-3 частных вузов России (рейтинг Интерфакс)
— Первый российский вуз с наивысшим ESG-рейтингом "A.ESG"
🎓 Государственный диплом
Готовим профессионалов по ключевым направлениям:
• Экономика и финансы
• Юриспруденция
• Менеджмент и управление
• IT-технологии и информационная безопасность
• Психология и педагогика
📚 Учиться комфортно каждому:
— Очная и заочная формы обучения
— Гибкое расписание для тех, кто совмещает с работой
— Возможность учиться из любой точки России
✅ Не упусти свой шанс стать востребованным профессионалом!
Узнать цену
#реклама 16+
muiv.ru
О рекламодателе
89
21:18
27.07.2025
close
С этим каналом часто покупают
Отзывы канала
Отзывов нет
Лучшие в тематике
Новинки в тематике
Статистика канала
Рейтинг
6.0
Оценка отзывов
0.0
Выполнено заявок
1
Подписчики:
4.4K
Просмотры на пост:
lock_outline
ER:
13.2%
Публикаций в день:
5.0
CPV
lock_outlineВыбрано
0
каналов на сумму:0.00₽
Подписчики:
0
Просмотры:
lock_outline
Перейти в корзинуКупить за:0.00₽
Комментарий