int intValue = 10;
double doubleValue = 10.10;
float floatValue = 5.1;
long
short
signed
unsigned
var intValue:Int = 10
var intValue1:Double = 10.10
var intValue2:Float = 9.9
- 如果按照长度划分, Swift中的长短比OC更加精确
var intValue3:Int8 = 6
var intValue4:Int16 = 7
var intValue5:Int32 = 8
var intValue6:Int64 = 9
- 有符号无符号
- 默认是有符号的
- UInt8/UInt16/UInt32/UInt64 这些是无符号类型, 只能取 >= 0 的正整数
- 注意: 无符号的数比有符号的取值范围更大, 因为符号位也用来存值
var uintValue7:UInt = 10
- Swift是类型安全的语言, 如果取值错误会直接报错, 而OC不会
unsigned int intValue = -10;
var intValue:UInt = -10
int intValue = INT_MAX + 1;
var intValue:UInt = UInt.max + 1
- 数据类型的相互赋值(隐式类型转换)
- OC可以隐式类型转换
- Swift:不具有隐式类型转换
int intValue = 10;
double doubleValue = intValue;
var intValue:Int = 10
var doubleValue:Double = intValue
- 数据类型转换
- Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换)
int intValue = 10;
double doubleValue = (double)intValue;
var intValue:Int = 10var doubleValue:Double
doubleValue = Double(intValue)
print(intValue)
print(doubleValue)
- 注意: Double()并不会修改intValue的值
而是通过intValue的值生成一个临时的值赋值给doubleValue