元组
【一】解释
1.一种数据结构
2.类似于数组或者字典
3.可以用于定义一组数据
4.组成元组类型的数据可以成为元素
【二】定义
#1.基本写法
let info = ("why" , 180, 1.88)
info.0
info.1
info.2
#2.别名
let info1 = (name: "why", age: 18, weight: 150)
info1.name
info1.age
info1.weight
#3.元组中元素的别名,就是元祖的名称
let (name, address,sex) = ("Tom", "New York", "male")
name // "Tom"
address
sex
可选类型
【一】定义
【a】 方式
1.常规方式
var name: Optional<String> = nil
2.语法糖
var name : String?
【b】取值:强制解包
可选类型 + !
//可选类型强制解包前必须进行判断是否为nil
【c】可选绑定
if let name = name {
print(name)//就近原则,推荐此种方式
}
if let tempName = name {//不常用
print(tempName)
}
【d】举例子
let url = URL(string: "www.baidu.com")
if let url = url {
let request = NSURLRequest(url: url)
}
函数
【一】四种类型
func read() -> Void {
print("无参数无返回值")
}
func read(book: String) -> Void {
print("有参数无返回值")
}
func read() -> String {
return "无参数有返回值"
}
func read(book: String) -> String {
//有参数有返回值
let statement = "he is reading the \(book)."
return statement
}
【二】默认参数
func readbook(book: String = "钢铁是怎样炼成的") {
print(book)
}
readbook()
func sum(p1: Int, p2: Int) {
print(p1 + p2)
}
sum(p1: 18, p2: 29)
【三】可变参数
func sum(p: Int...){
var result = 0
for i in p {
result += i
}
print(result)
}
sum(p: 1,2,3)
【四】指针类型
var m = 8, n = 20
func swap( m: inout Int, n: inout Int) {
let temp = m
m = n
n = temp
print("m=\(m),n=\(n).")
}
swap(m: &m, n: &n)
【五】函数嵌套
func tst() {
print("tst")
func dem() {
print("dem")
}
print("go on ")
dem()
}
tst()
//tst
//go on
//dem
网友评论