2016-09-08 3 views

ответ

1

Согласно Apple documentation, строки эквивалентны:

Initializing пустой строке

Чтобы создать пустое строковое значение в качестве отправной точки для создания более длинной строки, либо присвоить пустой строковый литерал к переменной или инициализировать новый экземпляр String с синтаксисом инициализатора:

var emptyString = ""    // empty string literal 
var anotherEmptyString = String() // initializer syntax 
+0

Я не знаю, откуда находится нисходящий сигнал; это правильный ответ. – andyvn22

-2

Я понимаю, когда вы установили строковый литерал

var aString = ""

в какой-то момент быть преобразованы, по крайней мере, функционально, чтобы

var aString: String = String("")

Таким образом, вы технически добавляя бессмысленное количество работы во время компиляции, но ничего, что должно иметь значение в почти любых обстоятельствах.

+1

Глупости. Это рекурсивное определение. Если '' '' означает 'String (" ")', то 'String (" ")' должен означать 'String (String (" "))' и в конечном итоге вы заканчиваете бесконечно рекурсивно для 'String (String (String .. . "" ...))) ' – Alexander

+0

Или он просто не делает этого, если он находится в инициализаторе строки ...? Компилятор не тот немой ... – PeejWeej

+0

Тогда как он знает, что делать с '" "'? Я хочу сказать, что ваше предлагаемое определение '' '' как 'String (" ")' не может работать. – Alexander

Смежные вопросы