когда использовать три разные формы ключевого слова, как в swift [дубликаты]

В настоящее время я читаю «язык быстрого программирования 2.1» и изучаю, как использовать понижающее ключевое слово «как». В книге есть три разных формы as: as, as? и в качестве!. Я понимаю, когда использовать as? и в качестве! но не может понять, когда использовать «как». У кого-нибудь есть предложения? Было бы еще лучше, если бы предложения сопровождались кодом. Заранее благодарю за любую помощь!


person Community    schedule 23.03.2016    source источник
comment
Еще один здесь: stackoverflow.com/questions/29674986/.   -  person Martin R    schedule 23.03.2016


Ответы (1)


Некоторый пример кода для вас. Мы могли бы использовать as для повышения. Пример справочного кода взят из этой статьи.

class Animal {}
class Dog: Animal {}

let a: Animal = Dog()
a as Dog        // now raises the error:  "'Animal is not convertible to 'Dog';
                // ... did you mean to use 'as!' to force downcast?"

a as! Dog       // forced downcast is allowed

let d = Dog()
d as Animal     // upcast succeeds
person Oleg Gordiichuk    schedule 23.03.2016
comment
@MartinR, спасибо, уже исправил - person Oleg Gordiichuk; 23.03.2016