#swift
#swift
Вопрос:
Я изучаю новый язык swift от Apple, и я посмотрел на модуль Swift,
и увидел, что некоторые универсальные классы имеют следующие инструкции:
extension ContiguousArray<T> : ArrayType {
/// Construct an empty ContiguousArray
init()
init<S : Sequence where T == T>(_ s: S)
/* other statement skipped */
}
Мне интересно, что Where T == T
означает?
Я не мог понять это, кто-нибудь может мне помочь?
Комментарии:
1. Я считаю, что это ошибка / странность в том, как генерируются эти поддельные файлы, похожие на заголовки, потому что подобный код на самом деле не компилируется.
2. Большое спасибо, я протестировал это в playground, на самом деле это вообще не компилируется.
Ответ №1:
T — это ссылка на любой тип. Это позволяет динамически задавать тип для чего-либо… как массив. T == T — это все равно, что сказать typeof(Int) == typeof(Int) в obj c