Swift (1) 常量、变量、元组、区间运算符和 Optional 可选类型

前言:学习 Swift 的记录

常量和变量

常量声明:

let a: Int = 10
let b = 10
let c: Int
c = 10
let e = 10, f = 20, g: Int
print(a)

变量声明:
变量的声明与常量的声明相似,将 let 替换成 var 即可。

var a: Int = 10
var b = 10
var c: Int
c = 10
var e = 10, f = 20, g: Int
print(a)
常量和变量声明的注意事项:

1、Swift 对名称要求很宽松,可以使用字符、数字、下划线、中文、图像符号等,但是不能以数字开头。
2、常量和变量名称不能重复,不能使用 Swift 内置的关键字。
3、变量的值在第一次赋值之后,可以多次改变。
4、Swift 区分大小写,大写和小写字母视为不同字符。
5、常量和变量不能互转。

类型推断和类型安全

类型推断是指 Swift 编译器可以根据常量或变量的值,自动推断它的准确数据类型。所以在编写 Swift 代码时,很少需要声明类型。

类型安全:Swift是一个强类型的语言,非常注重类型的安全。在数据的类型一旦确定以后,只能给他赋予符合数据类型的值,编译器会对数据进行类型检查,如果类型不匹配则会报错。

类型转换

Swift 没有任何形式的隐式转换,所有的数据类型转换必须显式进行。

注意:

在 C 语言和 Objective-C 语言中,数据类型是可以自动转换的,转换原则:
1、从小范围数可以自动转换成大范围数;
2、从大范围数到小范围数需要强制类型转换,并且可能造成数据精度丢失。
但在 Swift 中,不允许任何形式的隐式转换,所有的数据类型转换必须显式进行。

元组类型(Tuples)

把多个值合成一个复合值,这个复合值就叫做元组类型(Tuples)。

元组的声明
let a = ("Hello", "Good", "Nine")
var b = (name: "张三",age: 18, gender: "男")
元组的访问

(1)通过元素的下标访问

let student = ("张三",18,"男")
print("姓名:\(student.0),年龄:\(student.1),性别:\(student.2)")

(2)通过元素名称访问

let student = (name:"张三",age:18,gender:"男")
print("姓名:\(student.name),年龄:\(student.age),性别:\(student.gender)")

(3)通过元素的常量或变量名访问

let (name,age,gender) = ("张三",18,"男")
print("姓名:\(name),年龄:\(age),性别:\(gender)")
注意:

在 Swift 2.2 之后,使用 “==” 进行比较,需要注意:
1、最多只能对最多含有6个元素的元组进行比较。
2、在对元组进行比较时,会忽略元组的元素名称。

区间运算符

(1)闭区间运算符(...)

for number in 0...20 {
  print(number)
}

(2)半闭区间运算符(..<)

let array = ["a", "b", "c"]
let cout = array.cout
for i in 0..<cout {
  print(i)
}

Optional 可选类型

在程序中,经常会遇到一个数据可能有值,也可能没有值得情况。针对这种情况,Swift 特地增加了 Optional 可选类型。一个可选类型的常量或变量说明它可以有一个指定值,也可以是 nil。

推荐阅读更多精彩内容