1.数据类型
类型第一个字母大写
整数
Int
Int8 Int16 Int32 Int64
UInt8 无符号数..
Float
Double
String
Array
Dictionary
类型推断
var num = 1 //默认 整数
var d = 1.23 //默认Double
//swift 字符
//双引号 1个字符
let c:Character = "a"
var a:Character
a = "A"
a = "吕"
2.溢出
//32位最大值
let overValue :UInt32 = UInt32.max
//溢出报错
//let overValue2 :UInt32 = UInt32.max+1
3.没有隐式转换 不同数据类型之间不能直接运算 需要强转
var d: Double = 2.1
var int2:Int
//强转值 double 给int
int2 = Int(d)
4.布尔值
swift 引入了真正的布尔 true flase 和c++ 类似
if 表达式中 必须是布尔值 或者 表达式的值是布尔
5.元组
/*
元组 (30,”xiaohong”) 多个相同数据类型或者不同的数据类型 组合在一起 这就是一个元组
*/
//元组 不需要定义 直接使用
let student = ("张三",23 ,98.6)
println(student)
println(student.0,student.1,student.2)
//还可以这样定义模板
let stu :(String,Int,Double) = ("xiaohuang",2,1.1)
//另外一种形式 提取元组的值
let stu1 = (name:"zhangsan",age:23)
println(stu1.name)
//元组 经常 和 函数 一起使用 作为参数 和返回值 相当于返回多个值 C语言只能返回一个值
6.可选值
/*
可选值 swift 特有
optionals 有一个值 或者没有值 像布尔值
//两种状态 有值 没有值 nil
*/
//有值 9 包含整数值
var p1: Int? = 9
//没有值
var p2 :Int? = nil
//或者
var p3 :Int?
//! 对可选值的强制解析 如果是nil 不能强制解析 可选值
//获取可选值 要加!