版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/caowenbin/article/details/31418773

        Swift自问世以来,就获得了全球开发人员的青睐,能够说集万千庞爱于一身了,尤其是WWDC上的性能展示。更是让开发人员为之振奋。

可是,我却一直有几个疑问没有弄清。不知您的看法怎样。

        Swift究竟是编译型的,还是解释型的?我们知道Objective-C是编译型的,源程序被编译成机器码才干运行。

我们也知道Python是解释型的,由解释器负责解释运行,能够边写源代码边获得解释的结果。

从Xcode 6的Playgound来看。Swfit应该是解释型语言,能够边写代码边看到运行结果。可是,作为解释型语言的话在性能上不太可能会率先于编译型的Objective-C那么多。即使对编译器进行了优化也非常难拉开较大的差距。感觉Playgound像是IDE专门为Swift提供的一个工具。为了在语言使用上能有些交互性。该工具能够解释正在编写的代码,从而形成解释运行的交互式结果展现。因此,从Swift的性能来看,它还是编译型语言。

        Swift究竟是面向过程的还是面向对象的?这个从Apple的The Swift Programming Language里找到了答案,既支持面向过程编程,也支持面向对象编程。只是在对其class学习以后。没有发现Java、C#等面向对象语言的訪问修饰符,可能没有深入,还没领会到详细的使用方法上怎样做到更好的封装和信息隐藏。
        Swift是静态语言还是动态语言?简单的看。Swift通过var和let声明变量和常量,不须要指定数据类型。非常像JavaScript等动态语言。

可是细致学习能够发现,事实上Swift是静态语言,并且是类型安全的静态语言,即使是Int和Double也须要显示转换。

那么不须要数据类型的声明事实上就是语法糖了,是编译器做的类型判断,一旦类型确定就无法再改变了。所以Swift应该还是静态语言。

        我想通过继续学习和使用Swfit。还会遇到很多其它问题,但这才是语言学习的乐趣。
——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——

我对Swift的几点疑问的更多相关文章

  1. 【自问自答】关于 Swift 的几个疑问

    感觉自己给自己释疑,也是一个极为有趣的过程.这次,我还新增了"猜想"一栏,来尝试回答一些暂时没有足够资料支撑的问题. Swift 版本是:4.0.3.不同版本的 Swift,可能无 ...

  2. swift 一疑问:reduce

    var products = [   Product(name: "Kayak", description: "A boat for one person",p ...

  3. [IOS]《A Swift Tour》翻译(一)

    以下翻译内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3768936.html 碎碎念... Swift是苹果在WWDC刚发 ...

  4. iOS拍照上传后,在web端显示旋转 Swift+OC版解决方案

    问题描述: 手机头像上传,遇到一个怪现象,就是拍照上传时,手机端显示头像正常,但在web端查看会有一个左旋90度的问题. 并且照片竖怕才会有此问题,横拍不存在. 原因分析: 手机拍照时,用相机拍摄出来 ...

  5. Swift 中范围和区间如何使用?

    虽然现在swift语言已经发展到了2.0版了,但是相信很多学习iOS开发的童鞋仍对swift语言存在各种各样的疑问,今天小编将为大家详细介绍swift中的范围和区间,下面我们一起来看看吧. Range ...

  6. swift学习初步(三)--控制流操作

    在上一篇博客里面,我谈到了swift里面的一些基本类型以及相关的操作,相信你看了之后一定会觉得其实swift也不难嘛.好吧,这篇博客里面要谈的一些高级操作,可能会让你有点头疼了. 好了,废话不多说了, ...

  7. Swift学习初步(一)

    前几天刚刚将有关oc的教程草草的看了一遍,发现oc其实也不像传说的那么难.今天又开始马不停蹄的学习Swift因为我很好奇,到底苹果出的而且想要代替oc的编程语言应该是个什么样子呢?看了网上的一些中文教 ...

  8. Swift Tips - 在 Swift 中自定义下标访问

    Untitled Document.md input[type="date"].form-control,.input-group-sm>input[type="d ...

  9. [Swift系列]001-入门准备

    [引子] 最新的苹果发布会上公布了新的苹果编程语言Swift,并且演示了Xcode 6 Beta的一些新功能. 据苹果公司称,这个新语言开放的API更多,实用起来更方便,总之是值得学习.使用,比C/o ...

随机推荐

  1. PHPCMS内链设置,PHPCMS关联链接设置

    需求: 在网站中的关键词,自动加上链接. 在PHPCMS中叫做“关联链接”,在DEDECMS中叫做TAG标签. 第1步:后台 -> 扩展 -> 关联链接 -> 添加关联链接: 第2步 ...

  2. AC日记——飞行员配对方案问题 洛谷 P2756

    题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外 ...

  3. Xamarin XAML语言教程XAML文件结构与解析XAML

    Xamarin XAML语言教程XAML文件结构与解析XAML XAML文件结构 在上文中,我们创建XAML文件后,会看到类似图1.16所示的结构 图1.16  结构 其中,.xaml文件和.xaml ...

  4. extjs常用技巧

    grid http://extjs.org.cn/node/590 监听 http://extjs.org.cn/node/593 总结 http://extjs.org.cn/node/641 常用 ...

  5. IntelliJ IDEA提示:Class JavaLaunchHelper is implemented in both的错误解决

    这个错误是Mac下特有的,并且据说是一个老Bug,不影响使用. 修复方法: Help->Edit Custom Properties,没有这个properties文件的话,IDEA会提示创建,然 ...

  6. 简单配置PonyDebugger

    OS的Debug 系统在github上还是有不少. PonyDebugger是看上去比较牛气的一个.尝试一下 Logo PonyDebugger 可以监控网络 NetworkTrafficDebugg ...

  7. android中setClickable,setEnabled,setFocusable的含义及区别

    setClickable  设置为true时,表明控件可以点击,如果为false,就不能点击:“点击”适用于鼠标.键盘按键.遥控器等: 注意,setOnClickListener方法会默认把控件的se ...

  8. iOS开发 编码规范

    转至   http://www.cnblogs.com/celestial/archive/2012/06/30/2571417.html 编码规范 一.文档结构管理 1.建立Libraries文件夹 ...

  9. C#制作、打包、签名、发布Activex全过程【转】

    http://www.cnblogs.com/still-windows7/p/3148623.html 一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠H ...

  10. HDU 5054 Alice and Bob(数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5054 Problem Description Bob and Alice got separated ...