zoukankan      html  css  js  c++  java
  • Swif语法基础 要点归纳(一)

    常量和变量
    • 用let声明常量
         let m = 20
    • 用var声明变量
         var n = 10
    • 类型推导机制
              声明常量或变量时。能够不指定常量/变量类型,编译器会依据初始化值自己主动推导类型。也能够显示指定变量类型:
         var str:String = "12345"
         var num:UInt = 12
         var i:Float = 3.14
         
    数据类型
    类型别名
    • 能够使用typealiaskeyword定义类型别名。跟C语言的typedef作用类似
         typealias XXInt = Int;
         //Int类型去了以个别名XXInt

    运算符
    赋值运算符
    • 一对一赋值
         var a = 20
         var b = a
    • N对N赋值
         let (x, y) = (10, 20)
    • 跟C/OC不一样。Swift赋值运算符没有返回值
    • OC
    int a = 10;
         int b = a = 20;
         //以上赋值语句正确,b = 20

    Swift
    var b = a = 20;
    if (a = b) { }
    //以上赋值语句错误。b没有值。()中的表达式也没有值,能够防止误用=和==
    求余运算符
    • 求余结果的符号取决于%左边数字的符号(与C/OC一样)
    • 能够对浮点数求余     
               var z = 8 % 2.5 //0.5
    Bool类型
    • 在C语言中,0是假。非0是真。在Swift中Bool类型就两种值:
              true:真
              false:假
    • if语句的条件必须是Bool类型
    范围运算符
    • 范围运算符用来表示一个范围,有2种类型的范围运算符
              闭合范围运算符:a…b,表示[a, b],包括a,b
              半闭合范围运算符:a..<b,表示[a, b), 包括a,不包括b
    for index in 0..<5 {
        print(index)
    }
    溢出运算符
    每种数据类型都有自己的取值范围,默认情况,一旦赋值一个超出范围的数值,就会产生编译错误或执行时错误。
    • Swift为整形计算提供了5个&开头的益处运算符,能够对超出范围的值进行处理。
              &+、&-、&/、&*、&%
              上溢出
         var x:UInt8 = 255;
         var y = x &+ //y的值为0
             
              下溢出
         var x:Int8 = -128;
         var y = x &- //y的值为127
     
              除0溢出
         var x = 10;
         var y = x &/ //y的值为0

         var x = 10;
         var y = x &%  //y的值为0

    元组类型
    • 什么是元组类型?
              元组类型由N个随意类型的数据组成(N >=0)
              组成元组类型的数据称为“元素”
    var point = (x:10.0, y:20.0)
    //point有两个元素,xy是元素名称

    let person = (name: "Job")
    //person仅仅有name一个元素

    let data = ()
    //空元组
    • 元组的訪问
              用元素名称訪问
         let value = point.x //取值
         point.x = 30.0 //设值
            
              用元组位置訪问
    let value = point.0 //取值
    point.0 = 30.0 //设值
             
              假设用let修饰一个元组,那么该元组为常量。无法改动元素的值
    • 元组的输出
              能够直接输出元组来查看全部元素的值
               print(point)
    • 使用细节
              能够省略元素名称
         var point = (10.0, 20.0)
         let person = (20, "Job")
             
              能够显式指定元素的类型
         let person:(UInt8, String) = (20, "Job")
              peson的第一个元素仅仅能是UInt类型。第二个元素仅仅能是String类型
              在显示指定元素类型的情况,不能加入元素名称,以下的语句是错误的
         let person:(UInt8, String) = (age:20, name:"Job")

              能够用多个变量接收元组数据
         var (x, y) = (20, 30) //x20 y30
         var point = (x, y) //point由两个元素组成,各自是2030

              能够将元素赋给多个变量
    var point = (20, 30)
    var (x, y) = point //x20 y30

    能够用_(下划线)忽略某个元素的值,仅仅取出其它元素的值
    let person:(UInt8, String) = (20, "Job")
    var (_,name) = person

  • 相关阅读:
    Leecode no.22 括号生成
    修改mysql数据库的时区
    Django 路由层之反向解析
    学习 Django 的几个教程网址
    leetcode周赛 242
    AcWing第二次热身赛
    AcWing夏季每日一题--最长公共子序列
    AcWIng夏季每日一题--序列最大收益
    leetcode周赛 241
    第十二届蓝桥杯C++ B组
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7247459.html
Copyright © 2011-2022 走看看