Команда Go for Devs подготовила перевод статьи Акселя Вагнера о том, как generic интерфейсы в Go открывают новые возможности и новые сложности. В статье разбираются паттерны, ограничения и компромиссы: от self reference интерфейсов до дилеммы с ресивер-указателями. Читать далее
В Java 5 появились generic-типы, а вместе с ним и концепция type erasure, которая буквально означает стирание информации о generic-типе после компиляции. Действительно, во многих случаях это просто синтаксический сахар, помогающий писать типо-безопасный код на уровне компиляции, и в runtime с…
Тип: микросистема; Тип оптического привода: CD; Разъемы и интерфейсы: USB Type A, аудио стерео; Беспроводные интерфейсы: Bluetooth; Поддержка внешних носителей: CD, CD-R, CD-RW, USB; Функции звука: эквалайзер; Поддержка форматов: MP3; Особенности: таймер, часы; Музыкальный центр Panasonic SC-HC410EE-K черный Тип микросистема Тип оптического привода CD Разъемы и интерфейсы USB Type A, аудио стерео Беспроводные интерфейсы Bluetooth […]
При заходе в метод мы часто выполняемым проверку на null. Кто-то выносит проверку в отдельный метод, что бы код выглядел чище, и получается что то-такое: public void ThrowIfNull(object obj) { if(obj == null) { throw new ArgumentNullException(); } } И что интересно при такой проверке, я массово вижу использование именно object атрибута, можно ведь воспользоватся generic-ом. Давайте попробуем заменить наш метод на generic и сравнить производительность. Читать дальше →