- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Swift笔试试题及其答案 .doc
Swift笔试试题及其答案
导读:虽然Swift出生才一年,但是它已经成为最流 行的编程语言之一了。它的语法很简单,以至于当它发布 的时候,javascript开发者感觉就像下图一样。以下是由 小编为您整理推荐的Swift笔试试题及其答案,欢迎参考 阅读。
事实上,Swift是一种复杂的语言。它包含面向对象和 函数方法这两个方面,并且随着新版本的发布在一直进化。
你可以用这些问题来测试应聘者关于Swift方面的知 识水平,或者测试一下你自己。如果你不知道答案,没关 系,没一个问题下面都有答案供你学习。
这些问题包含两个方面:
笔试问题:通过电子邮件做一个编程测试是极好的,
因为这涉及到写大量的代码,从代码质量上可以看出一个 人的水平。
面试问题:电话面试或者面对面面试也是很好的,因 为对面试者来说口头交流会更方面。
每个方面有分成三个等级:
初级:适合读了一到两本有关Swift的书,并且已经开 始用Swift开发应用程序的初学者。
中级:适合那些对Sw ift语言的概念有深刻理解和强
烈兴趣的,并且一直在阅读大量有关Sw ift的博客文章并 进行实践的中级工程师。
高级:适合那些以探索S w ift语言知识为乐趣,挑战 自己,使用前言技术的人们。
假如你想回答这些问题,我建议你在回答这些问题之 前,打开Playgr ound运行一下这些问题的代码。这些问题 的答案都在X code Beta6版本中测试过。
准备好了吗?系好安全带,现在就开始!
笔试问题
初学者
问题1、(Swift及其之后的版本的问题)有什么更好的 方法来写下面的for循环?
for vari=0; ipri nt (’’Hello! 〃)
答案:
for_in 0 ... 4{ print (’’Hello!〃)
Swift实现了两个数组运算符c lose dopera tor和h alf-o perato r.前者包含数组中得所有值。例如:下面的 例子包含从0到4得所有整数
0...4
half -operator不包含数组中的最后一个元素,下面 的例子会得到的结果和上面的一样:
0. ?问题 2 - Sw if tor later
思考下面的问题:
structTut o rial{
vardi fficulty: In t=l
}
var tu toriall=Tut orial () va rtuto rial2=tuto rial 1
=2
和的值分别是多少?假如Tutorial是一个类,会有什 么不同?并说明原因。
答案:的值是1,然而的值是2.
在Swif t中结构体是值类型,他们的值是复制的而不 是引用的。下面的一行代码意思是复制了tu toriall的值 并把它赋值给tutor ial2:
vart utorial2=t u toriall
从这一行开始,tu tori al2值得改变并不影响tutor iall的值。
假如Tutori al是一个类,和的值将都会是2.在 Swift中类对象都是引用类型。tutorial 1属性的任何改变 将会反应到t utorial2上,反之亦然。
问题 3 - Swi ftorla ter
view 1声明成var类型,view2声明1 et类型。这里
有什么区别吗?下面的最后一行代码能编译吗?
impor tUIKit
var vi ewl=UIVi ew()
letv iew2=UIVie w()
二//W illthisl in ecompile?
答案:viewl是个变量可以重新赋值给一个新的实例化 的UIV i ew对象。使用le t你只赋值一次,所以下面的代 码是不能编译的:
view2 =viewl //Er ror: vie w2i simmutab le
但是UlVie w是一个引用类型的类,所以你可以改变 view2的属性,也就是说最后一行代码是可以编译的: letview 2=UI View()
=//Ye s!
问题 4 - Swift or later
下面的代码是把数组里面的名字按字母的顺序排序, 看上去比较复杂。尽最大的可能简化闭包里的代码。
letan imal s=[〃fi sh〃,〃cat〃,〃chick en〃,〃dog〃]
1 etsortedA n imals={(on e:String, tw o:String)-
Boolin
ret ur none} 答案:
第一个简化的是参数。系统的参数类型推断功能,可 以计算出闭包里面参数的类型,所以你不必定义参数的类 型:
lets ortedAnimal s={(one, two )-Boolinr e turnone
函数返回值也可以被推断出来,所以简化掉,代码变为: lets ortedA nima ls={
您可能关注的文档
最近下载
- 金融工具交易中的衍生品定价与估值方法.pptx VIP
- 就业服务平台建设与技术赋能的实施方案.docx
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- KTV安全工作实施方案.docx VIP
- 电力拖动基本控制线路 任务驱动模式 作者 徐铁 任务1-5.ppt VIP
- 新员工质量保证考试(中软国际)_3.pdf VIP
- 山西省太原市2022-2023学年八年级上学期期中物理试题,【含答案】.pdf VIP
- 社教类节目的展历程.ppt VIP
- 新员工质量保证考试(中软国际).doc VIP
- KROHNE科隆-质量流量计-MFC 400的信号转换器VE53-VE54系列 产品选型综合样本技术数据表.pdf
原创力文档


文档评论(0)