/**
*1.Int长度与当前平台的原生字长相同,即32位机同Int32,64同Int64
*2.一般使用Int,可以提高代码一致性和可复用性
*/
let min = UInt32.min
let max = UInt32.max
let min2 = Int.min
let max2 = Int.maxprint(min)
print(max)
print(min2)
print(max2)
2.浮点数
/**
*Double表示64位浮点数;Float表示32位浮点数。
*/
let PI:Float = 3.141592689793
let PI2: Double = 3.141592689793
print(PI)//输出3.14159
print(PI2)//输出3.141592689793
//类型推断/**
*当声明常量或者变量的时候赋给它们一个字面量即可触发类型推断。
*编译器可以在编译代码的时候自动推断出表达式的类型。
*因为有类型推断,Swift 很少需要显式指定类型。
*/
let PI3 = 3 + 0.14159// PI3 会被推测为 Double 类型//数值型字面量
let decimalInteger = 10
let binaryInteger = 0b10 // 二进制的2
let octalInteger = 0o10 // 八进制的8
let hexadecimalInteger = 0x10// 十六进制的16//十进制数 科学记数法
let 一百万 = 1e6
let 二百万分之一 = 2e-6//十六进制数 科学记数法
let 十五的16进制2次方 = 0xFp2 //15 × 2^2/**
*数值类字面量可以包括额外的格式来增强可读性。
*整数和浮点数都可以添加额外的零并且包含下划线。
*/
let 十亿 = 1_000_000_000
let 八元 = 0_000_000_008
//整数和浮点数之间的转换/**
*1.整数和浮点数的转换必须显式指定类型
*2.加号两边的数类型须相同。如果不进行转换,两者无法相加
*/
let three = 3
let point14159 = 0.14159
let PI4 = Double(three) + point14159
print(PI4)
//浮点数转换为整数/**
*用浮点数初始化一个新的整数值时,浮点值会被截断。3.1会变成3,-3.5会变成-3
*/
let intPI4 = Int(PI4)
print(intPI4)
//类型别名type aliases/**
*要给现有类型起一个更有意义的名字时,如处理特定长度的外部资源的数据
*/
typealias myType = UInt16
var minValue = myType.min
3.布尔值Bool
/**
*与OC,C不同,Swift的布尔值只能用true,false表示
*/
let trueValue = true
let falseValue = falseif trueValue{
/*
let i = 1
if i {
会报错
}
*/
}
4.元组
/**
*1.把多个值组合成一个复合值,元组内的值可以是任意类型
*2.数据结构并不是临时使用时,使用类或者结构体而不是元组。
*/
let http404Error = (404, "Not Found")// 类型是 (Int, String)
let shirt = (88,"red",true)
//分解元组的每个元素(方法一:)
let (money,color,isNice) = shirt
print("money is :\(money)")
print("color is :\(color)")
print("it is nice :\(isNice)")
/*
输出:
money is :88
color is :red
it is nice :true
*/
//分解元组的每个元素(方法二:)
print("money is :\(shirt.0)")
print("color is :\(shirt.1)")
print("it is nice :\(shirt.2)")
//分解元组的部分元素
let (justMoney,_,_) = shirt
print("The $ is:\(justMoney)")
//定义元组的时候给单个元素命名,通过名字来获取这些元素的值
let shirt2 = (length : 80,isNice :false )
print("length is :\(shirt2.0)")
print("it is nice :\(shirt2.isNice)")