Swift笔试试题及其答案 .docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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={

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档