通常说,编程语言教程中的第一个程序应该在屏幕上打印“Hello,world”。
在Swift中,可以勇一行代码实现:
print("Hello,world!")
1. 常量和变量
常量的值一旦设定就不能改变,而变量的值可以随意更 改。
1. 1 声明常量和变量
用 let 来声明常量,用 var 来声明变量。
- let a = 10 //int类型的常量
- var b = 5 //int类型的变量
- let isFirst = true //bool类型
- let isSecond = false
- var x = 0.0,y = 0.0,z = 0.0 //在一行中声明多个常量或者多个变量,用逗号隔开
初始化常量或者变量的时候如果所赋的值类型已知,就可以触发类型推断。
1. 2 类型标注
当你声明常量或者变量的时候可以加上类型标注(type annotation),说明常量或者变量中要存储的值的类型。
- var testString: String = "test string"
- //在一行中定义多个同样类型的变量,用逗号分割,并在最后一个变量名之后添加类型标注
- var red,green,blue: Double
1.3 数值型类型转换
整数和浮点数的转换必须显式指定类型:
- //整数和浮点数互转
- let a = 10
- let b = 15.9
- let c = Double(a) + b //c等于25.9
- let d = Int(b) //d等于15 会把小数点位给截取掉
-
- //字符串和Int互转
- var strTest = "112"
- let temp = Int(strTest) //temp是Int类型的112
-
- var strTest1 = "我是字符串"
- let temp1 = Int(strTest1) //temp1类型为可选(optionals)的Int类型,值为nil
- //什么是可选类型?接下来会将!
1.4 类型别名
类型别名(type aliases)就是给现有类型定义另一个名字
- typealias MYInt = Int var x: MYInt = 5
1.5 元组
元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。
- let ageAndName = (24,"Jack")
- // ageAndName 的类型是 (Int,String)
你可以将一个元组的内容分解(decompose)成单独的常量和变量,然后你就可以正常使用它们了:
- let (age,name) = ageAndName
- print("the age is \(age)") //24
- print("the name is \(name)") //Jack
-
- //如果只需要其中一部分元组值,可以把要忽略的部分用(_)标记
- let (justAge,_) = ageAndName
除了上面的方式,我们还可以使用下标或者定义元组的时候给值添加命名:
- //使用下标
- print("the age is \(ageAndName.0)")
- print("the age is \(ageAndName.1)")
-
- //定义元组的时候给元素添加命名
- let nameAndSex = (nameW:"Jan",sex:"woman")
- print("the name is \(nameAndSex.nameW) sex is :\(nameAndSex.sex)")