通常说,编程语言教程中的第一个程序应该在屏幕上打印“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)")