转载

使用Playground快速练习Swift语法 (一)

关注Swift好久了,现在准备好好学习一下,使用Playground练习Swift语法再好不过了,

但是新建一个Playground,准备上手的时候还有点不会用,打开后我专门去找执行图标,

试了遍上面所有得图标也没有一个正确的,囧…

后来随便一个写了个print语句,右侧就有结果了;原来Playground是自动执行的…

Swift语言有些语法都跟C++、Java等语言类似,比如注释什么我练习也不按套路,就从平时编程用到最多的语法开始。

以下练习使用的Xcode 7,使用Swift 2.0语法

定义变量/常量

  • 变量

    变量/常量的定义可以不指定类型,在赋值时Swift会自动判断;

    语句结尾不需要分号;

    var str = "hello world"
    //或
    var welcomeMessage: String = "Hi Swift"
  • 常量

    //定义常量
    let URL = "http://www.aswifter.com"

输出字符串

  • print语句
    var str = "hello world"
    print(str)

println在swift 2.0里已经没有了,直接使用print吧

  • print语句中可以直接使用变量/常量,使用”()”包含变量/常量即可。
    let URL = "http://www.aswifter.com"
    print("我的博客地址:/(URL)")

循环语句

  • for in语句

    for index in 1...5 {
    print(index)
    }

    1…5 表示一个Range,表示从1到5。

    这个条语句在Playground执行结果就显示了“5 times”,

    我要看详细结果怎么办,找了半天,终于被我发现了,如下图:

使用Playground快速练习Swift语法 (一)

普通的for语句,while语句,do..while语句都与C语言的一样,略过~~

集合类型

数组

  • 创建数组

    var shoppingList = ["牛奶", "面包"]
    //或
    var shoppingList2: [String] = []

    同样因为类型自动推断,我们可以不指定类型,创建空数组可以用第二种方式。

  • 增加元素

    //添加一个元素
    shoppingList.append("西瓜")
    //添加数组
    shoppingList += ["西瓜","苹果"]

    “+=”表达式不能直接加上一个字符串,只能拼接数组。

  • 访问元素经典的下标访问

    var firstItem = shoppingList[0]

    同时修改多个元素

    shoppingList[0...1] = ["香蕉", "哈密瓜"]
  • 删除元素

    let mapleSyrup = shoppingList.removeAtIndex(0)

    删除会返回当前被删除的元素

  • 遍历数组
    for item in shoppingList { 
    print(item)
    }

Set集合

  • 创建Set

    var letters = Set<Character>()
    //或
    var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]
  • 插入删除元素

    favoriteGenres.insert("Jazz")
    let removedGenre = favoriteGenres.remove("Rock")
  • 集合操作

    使用Playground快速练习Swift语法 (一)
    • 使用union(_:)方法根据两个集合的值创建一个新的集合。
    • 使用subtract(_:)方法根据不在该集合中的值创建一个新的集合。
    • 使用intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合。
    • 使用exclusiveOr(_:)方法根据值在一个集合中但不在两个集合中的值创建一个新的集合。
    //集合操作
    let oddDigits: Set = [1, 3, 5, 7, 9]
    let evenDigits: Set = [0, 2, 4, 6, 8]
    let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]

    oddDigits.union(evenDigits).sort()
    // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    oddDigits.intersect(evenDigits).sort()
    // []
    oddDigits.subtract(singleDigitPrimeNumbers).sort()
    // [1, 9]
    oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
    // [1, 2, 9]

字典

  • 创建字典

    var airports: [String:String] = ["TYO": "Tokyo", "DUB": "Dublin"]
    //或
    var airports = ["TYO": "Tokyo", "DUB": "Dublin"]
    //创建空字典
    var namesOfIntegers = Dictionary<Int , String>()
  • 访问字典

    print(airports["TYO"])
    airports["TYO"] = "Beijing"
    //添加
    airports["LHR"] = "London"
    //删除
    airports["LHR"] = nil
  • 字典遍历

    for (airportCode, airportName) in airports {
    print("/(airportCode): /(airportName)")
    }

参考资料

The Swift Programming Language 中文版

The Swift Programming Language 2.0 官方教程

中文版的教程有些老了,还是基于Swift 1.0的,有些函数已经发生了变化,可以对照看官方教程。

正文到此结束
Loading...