创意网站页面,渭南网站建设公司电话,铁路建设监理网站,个人网站如何做淘宝客1.常量 let maxNum 10 //单个常量赋值
let maxNum 10#xff0c; minNum 2 //多个常量赋值用逗号隔开2.变量 var x 0.0 //单个变量赋值
var x 0.0#xff0c; y 0.1 //多个变量赋值用逗号隔开3.类型注解 系统可通过赋初始值进行自动推断。 var name#… 1.常量 let maxNum 10 //单个常量赋值
let maxNum 10 minNum 2 //多个常量赋值用逗号隔开2.变量 var x 0.0 //单个变量赋值
var x 0.0 y 0.1 //多个变量赋值用逗号隔开3.类型注解 系统可通过赋初始值进行自动推断。 var name String //冒号(:)加空格( )
name Hello //先注解再赋值var name address: String //多个变量注解let one: Int 1 //同时注解和赋值4.输出 print(name) //输出一个变量/常量
print(welcome the \(address)) //输出一串字符加变量使用转义字符\与括号、变量名表示该变量5.注释 //这是一条注释/* 这也是一条注释 *//* 这是一个篮子
/* 这是篮子里的苹果 */这样方便将有注释的代码注释掉 */6.分号 平时可加可不加同一行中有两句话必须加。 let cat ; print(cat)7.整数 Int UInt(最好不用) 8.浮点数 Double 64位很大/高精度情况下使用15位小数 Float 32位对精度要求不高的情况下用6位小数 9.Swift语言自带类型安全与类型推断根据赋值类型推断变量/常量字符类型。 10.字符型字面量 十进制数 17二进制0b前缀0b10001八进制0o前缀0o21十六进制0x前缀0x11 11.强制转换 let Pi Double(three) 0.1415926
let iPi Int(Pi) //截断小数3.14159会变成3 12.类型别名 typealias Audio UInt16
//typealias:类型别名关键字Audio:别名UInt16:原名13.布尔值(Bool) let a true
let b false14.元组(tuples) let http404Error (404,Not Found) //这是一个(Int,String)元组
//元组定义
let (Code,Message) http404Error
//元组分解
print(status is \(Code))
print(status is \(Message))
//当只需要这个元组的一部分时元组半分解
let (Code,_) http404Error
print(status is \(Code)
//下标分解
print(status is \(http404Error.0))
//命名分解
let http404Error (Code: 404, Message: Not Found)
print(status is \(http404Error.Code))15.可选类型(optionals) let a 123
let b Int(a) //b是一个可选类型的Int(Int)16.nil 类似于java中的null是一个值表示值缺失。 17.可选绑定 if var a Int(b){ //Int(b)为nil或赋值falseif判断为falseprint(true)}18.隐式解析可选类型 可选类型option可能有值也可能无值Int?强制解析 如果确定有值则解析值。如果没有值(nil)则强制解析会崩溃a!可选绑定判断是否有值 if let a b{print(√)}else{peint(×)}自动解析 (隐式解析) 声明变量时就用!使用时会自动解析值而不需要加! 如果它之后可能会成为nil时不要使用隐式解析可选类型当解析nil时程序会崩溃。 //未使用隐式解析时
var dog: String? 旺财
let cat: String dog!
let fish: String dog!
let monkey: String dog!
//使用隐式解析时
var dog: String! 旺财
let cat: String dog
let fish: String dog
let monkey: String dog19.错误处理 可推断运行失败原因并传播出去 //1.抛出
func AnError() throws{//可能有错的函数
}
//2.可能有一个错并打印问题
do{try AnError()//没有错时运行的函数}catch{//有错时抛出的内容}
//3.可能有两个错并打印问题
do{try TwoErrors()//没有错时运行的函数success()}catch ErrorsMessage.oneError{//出现第一个错时抛出的内容OneReeor()}catch ErrorsMessage.twoReeor{//出现第二个错时抛出的内容TwoError()}20.断言和先决条件 断言和先决条件指在编码时赋予一个必要条件或期望运行时如果这个条件为true则继续运行如果为false则终止运行。 断言帮助找到错误假设仅在调试环境中止。先决条件帮助找到存在的问题在调试环境和生产环境出问题都会被中止。 21.断言调试 let age -3
assert(age 0, ”年龄不能小于0)assert(条件,提示)
assert(条件)断言失败用于检查条件判断是否完全。 if age 10{print(年龄10)}else if age 0 {print(0年龄10)}else{assertionFailure(有个条件还没判断)}22.强制执行先决条件 一个条件可能为假但后续运行必须为真。 precondition(index0,下标必须大于0)unchecked模式不执行先决条件。 23.fatalError(_:file:line:) 用于没实现的方法不会被优化掉运行到此时程序被中断。