ru
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