String
, Вы не можете по ошибке передать в него Int
.
Int
значение типа String
: упс, ошибка компиляции:
var integer: Int = "Я есть строка"
В этом примере переменной integer
с явно заданным типом Int
мы присвоили строку "Я есть строка" в качестве изначального значения. Если бы мы бы не указали бы тип Int
явно, то типовыведение распознало бы тип переменной по изначальному значению и ошибки не было бы.
var integer = 21
integer = "А я есть Грут"
В этом примере переменная типа Int
задана через числовой литерал 21 и на этом этапе всё хорошо. Однако дальше мы пытаемся присвоить ей строку "А я есть Грут", что так же приведёт к ошибке компиляции.
Int
, потому что Вы инициализируете его числом, которое выглядит как целое число:
let numberOfNeymar = 11
Double
:
let someDouble = 61.11
Double
вместо Float
, когда выводит тип числа с плавающей запятой.
Double
будет выведен из контекста:
let pi = 3 + 0.14159
Литеральное значение 3 не имеет явного типа. В результате сложения будет получено значение с плавающей точкой, а значит будет выведен тип Double
.