Что выведет код?
Anonymous Quiz
17%
0
27%
1
16%
Панику во время выполнения
15%
Ошибку компиляции
25%
Посмотреть результаты
Какой пакет в Go используется для выполнения операций compare and swap?
Anonymous Quiz
9%
io
7%
os
54%
atomic
23%
reflect
8%
Посмотреть результаты
Что выведет код?
Anonymous Quiz
24%
apple
44%
ant
9%
Панику во время выполнения
14%
Ошибку компиляции
9%
Посмотреть результаты
Forwarded from Библиотека Go-разработчика | Golang
🏃 Самоучитель по Go для начинающих. Часть 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.
👉 Читать статью
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.
👉 Читать статью
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
Какой из следующих примеров является livelock в Go?
Anonymous Quiz
56%
Две горутины бесконечно отправляют друг другу сообщения, не выполняя реальной работы
15%
Горутина ожидает данные из пустого канала
15%
Мьютекс никогда не освобождается
4%
Превышено максимальное количество горутин, доступных для выполнения
11%
Посмотреть результаты
Какой метод sync.WaitGroup необходимо вызвать, чтобы заблокировать текущую горутину до завершения всех горутин в группе?
Anonymous Quiz
5%
Add()
9%
Done()
78%
Wait()
6%
Stop()
2%
Посмотреть результаты
Forwarded from Библиотека Go-разработчика | Golang
🏃 Самоучитель по Go для начинающих. Часть 9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
В этом уроке самоучителя подробно рассмотрим структуры, методы и интерфейсы в Go, уделим особое внимание их особенностям и применению. В заключение познакомимся с конструкциями type assertion и type switch.
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
В этом уроке самоучителя подробно рассмотрим структуры, методы и интерфейсы в Go, уделим особое внимание их особенностям и применению. В заключение познакомимся с конструкциями type assertion и type switch.
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
Выведет ли данный код true?
Anonymous Quiz
27%
Да
58%
Нет
6%
Выведет ошибку компиляции
2%
Выведет панику во время выполнения
6%
Посмотреть результаты
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что такое starvation (голодание) в контексте конкурентности в Go?
Anonymous Quiz
0%
Горутина завершается из-за ошибки
87%
Горутина ожидает доступ к ресурсу, но не может получить, т. к. др. горутины постоянно его используют
3%
Горутина занимает слишком много памяти
5%
Горутина выполняется слишком долго без перерыва.
5%
Посмотреть результаты
Что выведет код?
Anonymous Quiz
52%
true
27%
false
2%
Ничего не выведет
8%
Ошибку компиляции
12%
Посмотреть результаты
Forwarded from Библиотека Go-разработчика | Golang
В Go новички часто сталкиваются с проблемой интерфейсных переменных, которым присваивае
тся
nil указатель. В таком случае, хотя значение в интерфейсе является
nil, сама переменная интерфейса не равна
nil.Пример: создаем перемен
н
ую x как указатель на
int, который по умолчанию
nil, и переменн
ую y как пустой интерфейс, который тоже
nil по умолчанию. После присваиван
ия x переменн
ой y, интерфе
йс y уже не является
nil, хо
тя x все еще
nil.
var x *int
var y any
y = x
📌 Что верне
т y == n
il? Верне
т fal
se. Это потому, что интерфейс не просто представляет значение, которое ему присвоено, а действует как контейнер для этого значения.Для проверки, является ли значение в интерфейс
е n
il, нужно использовать утверждение типа. Например, для проверки
y на n
il, используем:
y.(*int) == nil
Это показывает, что интерфейс
y
не nil
, но содержащееся в нем значение — nil
. Полный пример здесь.#tip
Please open Telegram to view this post
VIEW IN TELEGRAM
go.dev
Go Playground - The Go Programming Language
Есть буферизованный канал с определенной емкостью и горутина, которая читает из него данные. Что произойдет, если канал закроется, хотя в нем еще остались данные?
Anonymous Quiz
6%
Паника во время выполнения
15%
Данные в канале будут потеряны
54%
Горутина сможет продолжить чтение данных до тех пор, пока канал не станет пустым
14%
Никаких изменений не произойдет до тех пор, пока не будут считаны все данные
6%
deadlock
5%
Посмотреть результаты
Что выведет код?
Anonymous Quiz
14%
0
28%
1
37%
NaN
7%
Ошибку компиляции
5%
Панику во время выполнения
8%
Посмотреть результаты
Что выведет код?
Anonymous Quiz
2%
0
30%
1
54%
2
3%
Панику во время выполнения
4%
Ошибку компиляции
6%
Посмотреть результаты