В принципе как там разницу между String()
и ""
разница между String() и «»
var x = "Test"
x = String()
x = ""
Будет ли какая-то разница между этими двумя линиями выше?
В принципе как там разницу между String()
и ""
разница между String() и «»
var x = "Test"
x = String()
x = ""
Будет ли какая-то разница между этими двумя линиями выше?
Согласно Apple documentation, строки эквивалентны:
Initializing пустой строке
Чтобы создать пустое строковое значение в качестве отправной точки для создания более длинной строки, либо присвоить пустой строковый литерал к переменной или инициализировать новый экземпляр String с синтаксисом инициализатора:
var emptyString = "" // empty string literal var anotherEmptyString = String() // initializer syntax
Я понимаю, когда вы установили строковый литерал
var aString = ""
в какой-то момент быть преобразованы, по крайней мере, функционально, чтобы
var aString: String = String("")
Таким образом, вы технически добавляя бессмысленное количество работы во время компиляции, но ничего, что должно иметь значение в почти любых обстоятельствах.
Глупости. Это рекурсивное определение. Если '' '' означает 'String (" ")', то 'String (" ")' должен означать 'String (String (" "))' и в конечном итоге вы заканчиваете бесконечно рекурсивно для 'String (String (String .. . "" ...))) ' – Alexander
Или он просто не делает этого, если он находится в инициализаторе строки ...? Компилятор не тот немой ... – PeejWeej
Тогда как он знает, что делать с '" "'? Я хочу сказать, что ваше предлагаемое определение '' '' как 'String (" ")' не может работать. – Alexander
Я не знаю, откуда находится нисходящий сигнал; это правильный ответ. – andyvn22