电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

AppleSwift编程语言入门教程-by南邮-陈杨

36页
  • 卖家[上传人]:桔****
  • 文档编号:467717089
  • 上传时间:2023-09-14
  • 文档格式:DOC
  • 文档大小:54KB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、作者: 日期:gashero2014-06-03目录 1 简介 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构1 简介今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍The Swift Programming Language中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向。Swift已经存在了多年。Apple基于已有的编译器、调试器、框架作为其基础架构。通过ARC(Automatic Reference Counting,自动引用计数)来简化内存管理。我们的框架栈则一直基于Cocoa。Objective-C进化支持了块、collection literal和模块,允许现代语言的框架无需深入即可使用。(by gashero)感谢这些基础工作,才

      2、使得可以在Apple软件开发中引入新的编程语言。Objective-C开发者会感到Swift的似曾相识。Swift采用了Objective-C的命名参数和动态对象模型。提供了对Cocoa框架和mix-and-match的互操作性。基于这些基础,Swift引入了很多新功能和结合面向过程和面向对象的功能。Swift对新的程序员也是友好的。他是工业级品质的系统编程语言,却又像脚本语言一样的友好。他支持playground,允许程序员实验一段Swift代码功能并立即看到结果,而无需麻烦的构建和运行一个应用。Swift集成了现代编程语言思想,以及Apple工程文化的智慧。编译器是按照性能优化的,而语言是为开发优化的,无需互相折中。(by gashero)可以从Hello, world开始学起并过渡到整个系统。所有这些使得Swift成为Apple软件开发者创新的源泉。Swift是编写iOS和OSX应用的梦幻方式,并且会持续推进新功能的引入。我们迫不及待的看到你用他来做点什么。2 Swift入门一个新语言的学习应该从打印Hello, world开始。在Swift,就是一行:println(Hello

      3、, world)如果你写过C或Objective-C代码,这个语法看起来很熟悉,在Swift,这就是完整的程序了。你无需导入(import)一个单独的库供输入输出和字符串处理。全局范围的代码就是用于程序的入口,所以你无需编写一个 main() 函数。你也无需在每个语句后写分号。这个入门会给出足够的信息教你完成一个编程任务。无需担心你还不理解一些东西,所有没解释清楚的,会在本书后续详细讲解。Note作为最佳实践,可以将本章在Xcode的playground中打开。Playground允许你编辑代码并立即看到结果。3 简单值使用 let 来定义常量, var 定义变量。常量的值无需在编译时指定,但是至少要赋值一次。这意味着你可以使用常量来命名一个值,你发现只需一次确定,却用在多个地方。var myVariable = 42myVariable = 50let myConstant = 42Notegashero注记这里的常量定义类似于函数式编程语言中的变量,一次赋值后就无法修改。多多使用有益健康。一个常量或变量必须与赋值时拥有相同的类型。因此你不用严格定义类型。提供一个值就可以创建常量或变

      4、量,并让编译器推断其类型。在上面例子中,编译其会推断myVariable是一个整数类型,因为其初始化值就是个整数。Notegashero注记类型与变量名绑定,属于静态类型语言。有助于静态优化。与Python、JavaScript等有所区别。如果初始化值没有提供足够的信息(或没有初始化值),可以在变量名后写类型,以冒号分隔。let imlicitInteger = 70let imlicitDouble = 70.0let explicitDouble: Double = 70Note练习创建一个常量,类型为Float,值为4。值永远不会隐含转换到其他类型。如果你需要转换一个值到不同类型,明确的构造一个所需类型的实例。let label = The width is let width = 94let widthLabel = label + String(width)Note练习尝试删除最后一行的String转换,你会得到什么错误?还有更简单的方法来在字符串中包含值:以小括号来写值,并用反斜线()放在小括号之前。例如:let apples = 3let oranges = 5 /by

      5、gasherolet appleSummary = I have (apples) apples.let fruitSummary = I have (apples + oranges) pieces of fruit.Note练习使用 () 来包含一个浮点数计算到字符串,并包含某人的名字来问候。创建一个数组和字典使用方括号 ,访问其元素则是通过方括号中的索引或键。var shoppingList = catfish, water, tulips, blue paintshoppingList1 = bottle of watervar occupations = Malcolm: Captain, Kaylee: Mechanic,occupationsJayne = Public Relations要创建一个空的数组或字典,使用初始化语法:let emptyArray = String()let emptyDictionary = Dictionary()如果类型信息无法推断,你可以写空的数组为 和空的字典为 :,例如你设置一个知道变量并传入参数到函数:shoppingList =

      6、 /去购物并买些东西 by gashero4 控制流使用 if 和 switch 作为条件控制。使用 for-in 、 for 、 while 、 do-while 作为循环。小括号不是必须的,但主体的大括号是必需的。let individualScores = 75, 43, 103, 87, 12var teamScore = 0for score in individualScores if score 50 teamScores += 3 else teamScores += 1 teamScore在 if 语句中,条件必须是布尔表达式,这意味着 if score . 是错误的,不能隐含的与0比较。你可以一起使用 if 和 let 来防止值的丢失。这些值是可选的。可选值可以包含一个值或包含一个 nil 来指定值还不存在。写一个问号 ? 在类型后表示值是可选的。var optionalString: String? = HellooptionalString = nilvar optionalName: String? = John Appleseedvar greeting =

      7、 Hello!if let name = optionalName greeting = Hello, (name)Note练习改变 optionalName 为 nil 。在问候时会发生什么?添加一个 else 子句在 optionalName 为 nil 时设置一个不同的值。如果可选值为 nil ,条件就是 false 大括号中的代码会被跳过。否则可选值未包装并赋值为一个常量,会是的未包装值的变量到代码块中。switch 支持多种数据以及多种比较,不限制必须是整数和测试相等。let vegetable = red pepperswitch vegetable case celery: let vegetableComment = Add some raisins and make ants on a log.case cucumber, watercress: let vegetableComment = That would make a good tea sandwich.case let x where x.hasSuffix(pepper): let vegetableCo

      8、mment = Is it a spicy (x)?default: /by gashero let vegetableComment = Everything tastes good in soup.Note练习尝试去掉 default ,看看得到什么错误。在执行匹配的情况后,程序会从 switch 跳出,而不是继续执行下一个情况。所以不再需要 break 跳出 switch 。可使用 for-in 来迭代字典中的每个元素,提供一对名字来使用每个键值对。let interestingNumbers = Prime: 2, 3, 5, 7, 11, 13, Fibonacci: 1, 1, 2, 3, 5, 8, Square: 1, 4, 9, 16, 25,var largest = 0for (kind, numbers) in interestingNumbers for number in numbers if number largest largest = number Note练习添加另一个变量来跟踪哪个种类中的数字最大,也就是最大的数字所在的。使用 while 来重复执行代码块直到条件改变。循环的条件可以放在末尾来确保循环至少执行一次。var n = 2while n 100 n = n * 2nvar m = 2do m = m * 2 while m 100m你可以在循环中保持一个索引,通过 . 来表示索引范围或明确声明一个初始值、条件、增量。这两个循环做相同的事情:var firstForLoop = 0for i in 0.3 firstForLoop += ifirstForLoopvar secondForLoop = 0for var i = 0; i 3; +i secondForLoop += 1secondForLoop使用 . 构造范围忽略最高值,而用 . 构造的范围则包含两个值。5 函

      《AppleSwift编程语言入门教程-by南邮-陈杨》由会员桔****分享,可在线阅读,更多相关《AppleSwift编程语言入门教程-by南邮-陈杨》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.