Прежде всего, я считаю, что мой вопрос отличается от этих вопросов о том, «что является необязательным в быстрой». Потому что я спрашиваю, почему я могу это сделать, а не что это такое.Почему я могу объявить переменную без написания дополнительной отметки?
Я новичок в быстром. Когда я узнаю этот сказочный язык сегодня вечером, у меня возникла проблема, что я никогда не видел эту отметку - «?» на языке программирования. И я искал его некоторое время. Я знаю, какое необязательное связывание теперь.
Но теперь у меня появился новый вопрос. Когда я хочу объявить переменную, которая не является необязательной. Я могу написать этот синтаксис:
var friend: String
Но я не могу написать:
var friend: String = nil
Чтобы объявить переменную, которая равна нулю, можно использовать только по желанию:
var friend: String? = nil
Давайте посмотрим первый фрагмент кода. Когда будет объявлена новая переменная , ее значение равно нулю, правильно? Потому что я не придавал ему никакой ценности. Но в соответствии с определением необязательного, как второй и третий фрагменты кода, мы не можем назначить nil необязательным переменным.
Итак, мой вопрос в том, почему я могу объявить переменную без необязательной метки, но не имеет начального значения. Этот вопрос может быть простым, но я действительно не знаю, почему это происходит.
Заранее благодарен!
Первый не ноль. Это неинициализированная переменная. Как и Марк, вы получите ошибку времени компиляции, если попытаетесь запустить первый. Однако, если это было необязательно.Это позволит вам запустить его, поскольку оно имеет значение nil. – mn1