Публикации по теме 'generics'


4 способа заменить «Any» в TypeScript
Замените ключевое слово any, чтобы использовать строгую типизацию Чтобы привыкнуть к TypeScript, может потребоваться некоторое время, особенно если у вас плохо типизированный фон, такой как JavaScript. В погоне за гибкостью простой способ - просто отказаться от борьбы и использовать ключевое слово any . И, возможно, иногда это может быть (почти) правильный выбор, но чаще всего можно избежать использования ключевого слова any и заменить его более подходящим типом. Наша цель..

Что такое универсальный в C#?
Общий означает, что он не относится к конкретному типу данных. C# позволяет определять универсальные универсальные классы, интерфейсы, абстрактные классы, свойства, события, делегаты и операторы с использованием параметра типа и без конкретных типов данных. Параметр типа — это заполнитель для определенного типа, указанного при создании экземпляра универсального типа. Универсальный тип объявляется путем указания параметра типа в угловых скобках после имени типа, например, TypeName‹T›,..

Универсальные шаблоны в .NET
Универсальные шаблоны — это мощная функция .NET, позволяющая создавать повторно используемый код, который может работать с различными типами данных. В этом посте мы рассмотрим, что такое дженерики, когда и зачем их использовать, примеры дженериков, а также ковариантность и контравариантность с примерами. Что такое дженерики? Обобщения — это способ определить класс, структуру, интерфейс или метод, при котором мы можем отложить спецификацию одного или нескольких используемых ими типов до..

Примечания к черновику дженериков Go 2
На прошлой неделе команда Go опубликовала страницу с подробными проектами спецификаций для обобщений Go 2 и инструментов обработки ошибок. Предложение одновременно хорошо продуманное и смелое, поскольку одна из основных идей - ввести систему контрактов, аналогичную концепциям C ++. Контракты, на языке Go, представляют собой (возможно, синтаксически ограниченные) именованные функции, параметризованные как по значению, так и по его типу, которые используются компилятором для обеспечения..

На этой неделе я узнал: вход и выход из Котлина [2022–03–06]
Я изучал модификаторы in and out в Котлине. Рассматривая это с точки зрения Java, документация подкрепляет подход сопоставление концепции с Java , и я не уверен, что это лучший способ, потому что мне и другим было трудно понять его. in и out в объявлении вроде fun computeSomething(List<out T>) немного похожи на <? super T> и <? extends T> в Java, но они не совсем одинаковы, и я думаю, что это потому, что, хотя компилятор Kotlin в конечном итоге..

Введение дженериков в Go
Введение Обобщения , возможность писать функции и структуры данных, которые могут работать с несколькими типами, были долгожданной функцией языка программирования Go. С выпуском Go 1.18 наконец-то были представлены дженерики, что принесло языку новый уровень гибкости и абстракции. Обобщения в Go предоставляют способ написания повторно используемого кода, который может работать с любым типом, без необходимости дублирования или сложных утверждений типа. Это означает, что вы можете..

Специальный полиморфизм и классы типов
В этой статье объясняется, что такое нерегламентированный полиморфизм, какие проблемы он решает и как реализовать все это с помощью шаблона класса типа. Типы полиморфизма Начнем с параметрического полиморфизма . Скажем, у нас есть список предметов; это может быть список целых чисел, двойников, строк и т. д. Теперь рассмотрим метод head (), который возвращает первый элемент из этого списка. Этому методу не важно, относится ли элемент к типу Int, String, Apple или Orange. Его тип..