en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

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

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

Open in Telegram

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

Show more
4 879
Subscribers
-324 hours
-197 days
-5830 days
Posts Archive
Что выведет код?
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