• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift介绍和语言概述

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
Swift是什么?
 
Swift是苹果于WWDC 2014发布的编程语言,这里引用The Swift Programming Language的原话:
 
 Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility.
 
Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun.
 
Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works.
 
Swift is the first industrial-quality systems programming language that is as expressive and enjoyable as a scripting language.
 
简单的说:
Swift用来写iOS和OS X程序。(估计也不会支持其它屌丝系统)
Swift吸取了C和Objective-C的优点,且更加强大易用。
Swift可以使用现有的Cocoa和Cocoa Touch框架。
Swift兼具编译语言的高性能(Performance)和脚本语言的交互性(Interactive)。
 

Swift语言概览
 
基本概念
注:这一节的代码源自The Swift Programming Language中的A Swift Tour。
 
Hello, world
类似于脚本语言,下面的代码即是一个完整的Swift程序。
  1. println("Hello, world"
 
变量与常量
Swift使用var声明变量,let声明常量。
  1. var myVariable = 42 
  2. myVariable = 50 
  3. let myConstant = 42 
类型推导
Swift支持类型推导(Type Inference),所以上面的代码不需指定类型,如果需要指定类型:
  1. let explicitDouble : Double = 70 
Swift不支持隐式类型转换(Implicitly casting),所以下面的代码需要显式类型转换(Explicitly casting):
  1. let label = "The width is " 
  2. let width = 94 
  3. let widthLabel = label + String(width) 
 
字符串格式化
Swift使用\(item)的形式进行字符串格式化:
  1. let apples = 3 
  2. let oranges = 5 
  3. let appleSummary = "I have \(apples) apples." 
  4. let appleSummary = "I have \(apples + oranges) pieces of fruit." 
数组和字典
Swift使用[]操作符声明数组(array)和字典(dictionary):
  1. var shoppingList = ["catfish""water""tulips""blue paint"
  2. shoppingList[1] = "bottle of water" 
  3.   
  4. var occupations = [ 
  5.     "Malcolm""Captain"
  6.     "Kaylee""Mechanic"
  7. occupations["Jayne"] = "Public Relations" 
一般使用初始化器(initializer)语法创建空数组和空字典:
  1. let emptyArray = String[]() 
  2. let emptyDictionary = Dictionary<String, Float>() 
如果类型信息已知,则可以使用[]声明空数组,使用[:]声明空字典。
 
控制流
概览
Swift的条件语句包含if和switch,循环语句包含for-in、for、while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:
  1. let individualScores = [75, 43, 103, 87, 12] 
  2. var teamScore = 0 
  3. for score in individualScores { 
  4.     if score > 50 { 
  5.         teamScore += 3 
  6.     } else { 
  7.         teamScore += 1 
  8.     } 
可空类型
结合if和let,可以方便的处理可空变量(nullable variable)。对于空值,需要在类型声明后添加?显式标明该类型可空。
  1. var optionalString: String? = "Hello" 
  2. optionalString == nil 
  3.   
  4. var optionalName: String? = "John Appleseed" 
  5. var gretting = "Hello!" 
  6. if let name = optionalName { 
  7.     gretting = "Hello, \(name)" 
灵活的switch
Swift中的switch支持各种各样的比较操作:
  1. let vegetable = "red pepper" 
  2. switch vegetable { 
  3. case "celery"
  4.     let vegetableComment = "Add some raisins and make ants on a log." 
  5. case "cucumber""watercress"
  6.     let vegetableComment = "That would make a good tea sandwich." 
  7. case let x where x.hasSuffix("pepper"): 
  8.     let vegetableComment = "Is it a spicy \(x)?" 
  9. default
  10.     let vegetableComment = "Everything tastes good in soup." 
其它循环
for-in除了遍历数组也可以用来遍历字典:
  1. let interestingNumbers = [ 
  2.     "Prime": [2, 3, 5, 7, 11, 13], 
  3.     "Fibonacci": [1, 1, 2, 3, 5, 8], 
  4.     "Square": [1, 4, 9, 16, 25], 
  5. var largest = 0 
  6. for (kind, numbers) in interestingNumbers { 
  7.     for number in numbers { 
  8.         if number > largest { 
  9.             largest = number 
  10.         } 
  11.     } 
  12. largest 
while循环和do-while循环:
  1. var n = 2 
  2. while

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode1282.用户分组|GroupthePeopleGiventheGroupSizeTheyBelongTo发布时间:2022-07-13
下一篇:
Swift2.0语言教程之类的属性发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap