Swift4.0基础(一)基本常量以及集合类型

2018-03-04  本文已影响18人  可惜你不是我的双子座

简介

1.Swift - 雨燕,敏捷,快速

2.历史和未来

3.Swift的创新

1.常量

常量的定义

let 女朋友数量 = 2

变量

var className = "学习Swift 3.0"
className = "现在学习Swift 4.0"

如何正确使用常量与变量

2.Int和类型推断

值的类型和类型推断

var run1Num : Int = 3 // 可以省略类型声明
var run2Num = 3

3.类型安全

4.Bool

布尔型:Bool,表示逻辑上的"真"或"假"

var vip = false
vip = true

5.Tuple

元组(Tuple):定义变量的一个组合

var (x,y,z) = (1,2,3)
x
y
z

var studyClassName = (day:3, Unit:"天", lang:"Swift", ver:"4.0")
studyClassName.day
studyClassName.Unit
studyClassName.lang
studyClassName.ver

6.Optional

可选类型(Optional):代表变量可能有值的情况。

var addr : String? // 等价于 var addr : Optional<String>
addr = "深圳市"

7.基础操作符

8.字符串和字符

String是字符串类型, Character是字符类型

var a = ""
var b = " "
a.isEmpty  // true
b.isEmpty // false

字符

var me = "我你" // 默认是字符串
var you : Character = "h"
let words = "攻城掠地"

for word in words {
    print(word)
}

连接字符串和字符

let a = "洪荒"
let b = "少女"
let c = "傅园慧"

var famous = a + b + c
let number : Character = "牛"
famous.append(number)
let name = "swift"
let type = "G"
let numbers = 11
let price = 158.5

let 订票提示 = "\(name)先生,您订购了\(type)\(numbers)的往返票,需支付\(price * 2)元"

控制流

1.for in
for-in循环 执行固定次数的操作,或操作一个序列(如数组)中的每一项。

let places = ["beijing","shanghai","guangzhou"]

for place in places {
    print(places)
}

var sum = 0
for i in 1...100 {
    sum += i
}
sum
for _ in 1...5 {
    print("学习swift")
}

集合类型

数组(Array)

arrar = [Int](repeatElement(3, count: 10))
let array2 = Array(1...5)
let array3 = ["beijing","shanghai","guangzhou","shenzhen","nanchang"]
array3.count
array3.isEmpty
array3.append("wuhan")
let haiwaiPlace = ["NewYork","London"]
array3 += haiwaiPlace
array3.insert("Paris", at: 2)
array3.remove(at: 6)

集合(Set)

值无序不重复。适合存储具有唯一性的数据,如用户/身份证号码/护照号等

let cardno : Set = [1,2,3,1,4] // 输出 {2, 3, 1, 4}
var citys : Set = ["shanghai","beijing","wuhan","hefei"]
citys.count
citys.isEmpty
citys.insert("nanchang")
citys.remove("shanghai")
citys.contains("wuhan")
let cityArray = citys.sorted()
var xSet : Set = [1,2,3,4]
var ySet : Set = [3,4,5,6]

xSet.intersection(ySet) // 输出 {3, 4}
xSet.subtract(ySet) // 输出 {2, 1}
xSet.union(ySet) //  输出 {5, 6, 2, 3, 1, 4}
xSet.symmetricDifference(ySet) 输出 {5, 6, 2, 1}
let hSet : Set = [1,2,3]
let iSet : Set = [3,2,1,4]

hSet.isSubset(of: iSet) // 输出 true
hSet.isStrictSubset(of: iSet) // 输出 true
iSet.isSuperset(of: hSet) // 输出 true
iSet.isStrictSuperset(of: hSet) // 输出 true
iSet.isDisjoint(with: hSet) // 输出 false

字典

值无序可重复,但每个值有唯一的键(key)。

var airports = ["PVG":"shanghai pudong","CHU":"Dalian", "DUB":"Dublin Airport"]
airports.count
airports.isEmpty
airports["SHQ"] = "Hongqiao Airport"
airports["CHU"] = "南昌机场"
airports["DUD"] // 如果没有对应键 返回nil
airports["SHQ"] // Hongqiao Airport
airports["DUB"] = nil
for (key, value) in airports {
    print(key,value)
}
for key in airports.keys {
    print(key)
}
let codes = [String](airports.keys)
let airportFullname = [String](airports.values)
上一篇 下一篇

猜你喜欢

热点阅读