一:let 和 var

  let 声明的是一个常量, var 声明的是一个变量

二:简单数据类型

  1.自推出数据类型

    let implicitDouble = 70.0    //根据初始化时赋值的数据,推断出implicitDouble数据类型为Double

  2.明确指定数据类型

    let explicitDouble:Double = 70.0

  3.强制数据类型转换, 数据类型转换必须是显式的

    let label = "The width is"

    let width = 40

    let widthLable = label + String(width)

  4.字符串里引用变量, \(变量)

    let number = 42

    let message1 = "I have \(number) dogs!"

    let message2 = "I have \(number + 1) dogs!"  //引用表达式number + 1

三:数组和字典(array,dictionary)

  1.数组 ,形如 var myList = ["book", "pen", "pencil", "schoolbag"]

     通过下标访问: print(myList[0]),   myList[0] = "books"

     添加(append):

       var intArray = [1, 3, 5, 7]

         intArray.append(9)  //[1, 3, 5, 7, 9]

         intArray.appendContentsOf([11, 13, 15])  //[1, 3, 5, 7, 9, 11, 13, 15]

     同时修改多个元素:

       intArray[3...5] = [2, 4]  //[1, 3, 5, 2, 4, 13, 15]

  2.字典, 形如 var myMap = ["Leon" : 27, "Lily" : 26, "Euler" : 32]

     通过key访问, myMap["Leon"] = 28

     如果访问的数据不存在则返回nil,let age = myMap["Julie"] //age 值为 nil

     添加一个元素和修改一个元素是一样的, myMap["Eminem"] = 37

  3.初始化空数据

   //数组初始化

    var array1 = []  //不指定数据类型

    var array2 = [String] () //指定数据类型

  //字典初始化

    var map1  = [:] //不指定数据类型

    var map2 = [String:Int]() //指定数据类型

  4.遍历, for element in elements

    例如:

    4.1

    var myArray = [1, 3, 5, 7, 9]

    for myInt in myArray{

      print(myInt)

    }

    4.2

    var ages = ["Leon" : 27, "Lily" : 26, "Euler" : 32]

    for (name, age) inages{

    print("\(name) is \(age) years old now!")

    }

五:switch

  5.1

  let age = 10

  switch age{

  case 1:

    //do something

  case 5...17:

    //do something

  case let decade where decade % 10 = 0:

    //do something

  default:

    //do something

  }

  5.2 同时对两个变量值做判断

  let username = "admin"

  let passwordIsValid = true

  switch (username, passwordIsValid) {

  case ("admin", true):  //用户名是“admin” 并且密码是有效

    //do something

  case ("guest", _): //只要用户名是 “admin" 不管密码如何

    //do something

  case (_, let isValid): //包括了不管用户名是什么但是密码有效或者无效这两种情况

    //do something

  }

    

Swift 3.0(一)的更多相关文章

  1. iOS开发系列--Swift 3.0

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

  2. Swift 3.0 【Swift 3.0 相较于 Swift 2.2 的变化】

    一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ...

  3. Swift 2.x -> Swift 3.0

    Swift 3.0 相对于 2.x 有很大变化.特别是因为命名习惯的改变,导致许多 Api 都发生了变化.总的趋势是让表示更简洁. 对旧的代码升级,大部分可以根据提示来进行更正.但也有的需要手动修改. ...

  4. Swift 2.0 异常处理

    转自:http://www.jianshu.com/p/96a7db3fde00 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主 ...

  5. fir.im Weekly - Swift 3.0 的迁移适配指南

    无论你是移动开发者,还是桌面端开发者,或者正在IoT领域探索的技术人员,那么应该更加关注 iDev 全平台开发者大会,也许是后半年 iOS 开发者最盛大的技术盛宴.既有知名公司带来专业视野,又有从 S ...

  6. Swift 3.0首个开发者预览版将在5月12日释出

    Swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出.开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内. ...

  7. Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性

    由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ...

  8. Swift 2.0初探

    转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心. 今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引 ...

  9. iOS -Swift 3.0 -String(字符串常规用法)

    // // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...

  10. Swift 2.0 到底「新」在哪?

    [编者按]2015年6月,一年一度的苹果 WWDC 大会如期而至,在大会上苹果发布了 Swift 2.0,引入了很多新的特性,以帮助开发者更快.更简单地构建应用.本篇文章作者是 Maxime defa ...

随机推荐

  1. UVA 11609 - Anne's game cayley定理

    Lily: “Chantarelle was part of my exotic phase.”Buffy: “It’s nice. It’s a mushroom.”Lily: “It is? Tha ...

  2. godoc工具使用

    golang除了语言有一定的规范外,对于文档的生成也是非常不错的.仅仅要按go的格式来写的程序,都能够非常easy的生成文档. godoc命令介绍: http://golang.org/cmd/god ...

  3. php实现简单的学生管理系统

    php实现学生管理系统 一.效果 二.代码框架 functions文件夹里面是封装的mysqli的数据库操作函数和一个跳转的函数 student文件夹里面就是学生管理系统的主界面 applicatio ...

  4. 杂项-DB:ETL(数据库仓库技术)

    ylbtech-杂项-DB:ETL(数据库仓库技术) ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).交互转换(transfor ...

  5. 30.QT IDE编写

    mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTe ...

  6. springboot的常见配置

    1.Springboot热部署 热部署的意思就是当任何类发生改变时,通过JVM类加载的方式加载到虚拟机上,这样就不需要我们重启Application类了 做法: 1)添加一个依赖到pom.xml上: ...

  7. 三种启动SQLSERVER服务的方法(启动sqlserver服务器,先要启动sqlserver服务)

    1.后台启动 计算机-管理-服务和应用程序 2.SQL SERVER配置管理器 3.在运行窗口中使用命令进行启动:

  8. DB2导出表结构、表数据小结

    一.DB2命令行导出数据库全库表结构 ① Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到DB2 CLP窗口. 命令:DB2CMD ② 创建一个data文件夹 命令:MKD ...

  9. mac下生成ssh key

    ssh -v usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  10. iOS 处理图片的一些小 Tip

    UIImage 缓存是怎么回事? 通过 imageNamed 创建 UIImage 时,系统实际上只是在 Bundle 内查找到文件名,然后把这个文件名放到 UIImage 里返回,并没有进行实际的文 ...