Swift是一种基于IOS,OS X和watchOS平台的新的编程语言,2016.9已经更新到3.0版本,3.0版本基于前面2个版本做了许多改变(新增或变更或是替换)。
我是一个从c、c++过度到Object C的程序猿,目前Swift开发的IOS程序渐渐多了起来,有幸可可以自学一下Swift 3.0,所有语言差异都基于c、c++、o-c做区别,此次学习记录参考资料来源于:
http://www.swift51.com/swift3.0/chapter1/01_swift.html,希望能给帮到有兴趣的小伙伴们。
1.新的数据类型-元组(值类型)
//元组
let httPResponse = (404,"not found") //定义初始化一个网络请求返回值元组
let (statusCode, statusMessage) =httpResponse
print("The status code is/(statusCode)")
print("The status message is/(statusMessage)")
print("The status code is/(httpResponse.0)")
print("The status message is/(httpResponse.1)")
//如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记
let (justTheStatusCode, _) = httpResponse
print("The status code is/(justTheStatusCode)")
2.可选类型
/*可选类型 用法:强制解析 ! 可选绑定
使用可选类型(optionals)来处理值可能缺失的情况。可选类型表示:有值,等于 x*/
let possibleNumber = "123"
let convertedNumber = Int(possibleNumber)
/*因为该构造器可能会失败,所以它返回一个可选类型(optional)Int,而不是一个 Int。一个可选的 Int 被写作 Int? 而不是 Int。问号暗示包含的值是可选类型,也就是说可能包含 Int值也可能不包含值。(不能包含其他任何值比如 Bool 值或者 String 值。只能是 Int或者什么都没有。)*/
/*Swift 的 nil和 Objective-C中的 nil并不一样。在 Objective-C中,nil是一个指向不存在对象的指针。在 Swift中,nil不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选状态都可以被设置为 nil,不只是对象类型。*/
/*有时候在程序架构中,第一次被赋值之后,可以确定一个可选类型总会有值。在这种情况下,每次都要判断和解析可选值是非常低效的,因为可以确定它总会有值。这种类型的可选状态被定义为隐式解析可选类型*/
let possibleString: String? = "An optional string."
let forcedString: String =possibleString!//需要惊叹号来获取值
另一种表示:
let assumedString: String! = "An implicitly unwrapped optional string."
let implicitString: String = assumedString //不需要感叹号
3.空合运算符
//空合运算符(a ?? b)将对可选类型 a进行空判断,如果 a包含一个值就进行解封,否则就返回一个默认值b, a != nil ? a! : b
let defaultColorName = "red"
var userDefinedColorName: String? //默认值为 nil
var colorNameToUse = userDefinedColorName ?? defaultColorName
4.区间运算符//闭区间运算符(a...b)定义一个包含从 a到 b(包括 a和 b)的所有值的区间
//半开区间(a..<b)定义一个从 a到 b但不包括 b的区间
for index in1...5{
print("/(index),/(colorNameToUse)")
}
let names = ["Anna","Alex","Brian","Jack"]
let count = names.count
for i in0..<count {
print("第/(i +1) 个人叫/(names[i])")
}
5.字符串处理
//遍历字符串
for character in"Dog!
新闻热点
疑难解答