uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Библиотека задач по C# | тесты, код, задания

Библиотека задач по C# | тесты, код, задания

Відкрити в Telegram

Задачи и тесты по C# для тренировки и обучения. Учиться у нас: https://clc.to/3e1SCw По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

Показати більше
4 879
Підписники
-324 години
-197 днів
-5830 днів
Архів дописів
Что выведет код?
Anonymous voting

💡Как тривиально проверить значения интерфейса на nil? В Go новички часто сталкиваются с проблемой интерфейсных переменных, которым присваивается nil указатель. В таком случае, хотя значение в интерфейсе является nil, сама переменная интерфейса не равна nil. Пример: создаем переменную x как указатель на int, который по умолчанию nil, и переменную y как пустой интерфейс, который тоже nil по умолчанию. После присваивания x переменной y, интерфейс y уже не является nil, хотя x все еще nil.

var x *int
var y any
y = x
📌 Что вернет y == nil? Вернет false. Это потому, что интерфейс не просто представляет значение, которое ему присвоено, а действует как контейнер для этого значения. Для проверки, является ли значение в интерфейсе nil, нужно использовать утверждение типа. Например, для проверки y на nil, используем:

y.(*int) == nil
Это показывает, что интерфейс y не nil, но содержащееся в нем значение — nil. Полный пример здесь. #tip

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting