Swift 基础01

基本语法

1.常量和变量(let and  var)

let 定义的常量, 已经赋值之后,就不能修改其值.如果强制修改,系统报错

var 定义的变量, 已经赋值之后,可以修改

2.swift中自动推导类型

在swift 中只用这两种修饰变量,不想OC和其他语言,可以有好多关键字修饰 变量, swift 会根据 当前定义的值,自动的推导是什么类型的

例如 let num = 2 --> num 为int   let num = 2.0  --> num 为double  let num = "123" --> num 为 字符串string类型的.......

swift中没有隐式的转换   对数据类型要求极其的严格,任何的时候都不会自动的进行隐式转换

例如  let x2 =100   let y2 =10.5   let num1 = Double(x2) + y2     let num2 = x2 + Int(y2)

3.Optional 可选值

    定义变量,如果变量定义成"可选的", 可以给这个变量指定一个值,也可以不设置值,默认为nil                       定义变量,在类型后面加上一个"?",表示这个变量是可选的  ----  var temp:string?                                   常数可选项需要设置一个初始值,主要用于构造函数中 --- var num:int? = 10                                         如果可选项Option的值是一个nil, 不允许参与计算                                                                               如果可选项Option有值,只有解包之后,才能够才有运算,在变量后面+"!",表示强行解包

4.?? 运算符

    ??运算符可以用于判断变量/常量的数值是否是nil,如果是则使用后面的值替代                                                   

在使用 Swift 开发时,??能够简化代码的编写

5.控制流

  if                                                                                                                                                  在swift中,没有向C语言中的那样,存在"非零" 及真 的情况, 在逻辑判断的时候,要显示的指明具体的判断条件是(true/false). 还有和C语言不同的是, if 后面的条件判断括号()是可以省略的,当时后面的{}是不能省略的    在三目运算符,和C语言的用法是一样的 (?  :)                                                                                        在swift中添加了,可选判断条件 if let  guard let  这两个判断的情况正好相反                                          为什么要引入可选项的判断,可选项的值可能是空值nil,是不被允许做计算的,要确保计算的时候一定是有值的,防止程序崩溃                                                                                                                              if let 条件为真 {} 执行大括号的代码    if let 条件为假 {} 不执行大括号的代码                                          if let 还可以和 where 一起使用 --> if let 后条件为真 同时where 后面的条件也为真 ,才能执行                if let Ourl = url  where  Ourl.host=="www.baidu.com"                                                                    if let 不能够和 && 和  ||  等条件判断一起使用                                                                                guard                                                                                                                                            guard let 条件  else {...}   条件为 "nil" 时, 执行{...} 的内容                                                                  guard 的好处,能判断每一个值,在真正代码逻辑,省略了一层嵌套

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容