版权声明:本文为博主原创文章。未经博主同意不得转载。 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. 获取当前网络中的电脑数目及MAC-通过MAC查找IP-通过IP查询机器名

    Microsoft Windows [版本 ] 版权所有 (c) Microsoft Corporation.保留所有权利. C:\Users\Administrator>netsh netsh ...

  2. 洛谷—— P1503 鬼子进村

    https://www.luogu.org/problemnew/show/P1503 题目背景 小卡正在新家的客厅中看电视.电视里正在播放放了千八百次依旧重播的<亮剑>,剧中李云龙带领的 ...

  3. POJ 1860 Currency Exchange 最短路+负环

    原题链接:http://poj.org/problem?id=1860 Currency Exchange Time Limit: 1000MS   Memory Limit: 30000K Tota ...

  4. numpy常用函数学习

    目录numpy常用函数学习点乘法线型预测线性拟合裁剪.压缩和累乘相关性多项式拟合提取符号数组杂项点乘法该方法为数学方法,但是在numpy使用的时候略坑.numpy的点乘为a.dot(b)或numpy. ...

  5. 期望DP初步

    感觉期望DP这种东西像是玄学- 主要总结说一点基础性的东西, 或许对于理解题目的做法会有一点帮助. 首先是关于独立事件, 互斥事件的概念. 通俗地说, 就是对于两个事件A, B, 假如满足发生了其中一 ...

  6. windows上安装Ipython notebook

    最近有一个培训机构找笔者来做一份Python的培训教材,顺带着研究了下python notebook,发现很好很强大,现把初步的安装步骤记录如下:         1.安装Python         ...

  7. mac下报错 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

    如题mac下遇到错误: 解决办法:安装mac的命令行工具CommandLineTools xcode-select --install

  8. json解析神器 jsonpath的使用

    转载:http://blog.csdn.net/qq_20641565/article/details/77162868 如果项目需求是从某些复杂的json里面取值进行计算,用jsonpath+IK( ...

  9. Resharper 8.2的“安装”问题

    概述 完美解决Resharper 8.2的“安装”问题和VS2012写Javascript语句无法智能提示的问题: 目录 引言——Resharper 简介——安装——VS2012智能提示测试 引言 最 ...

  10. Linux上mysql修改密码

    http://www.cnblogs.com/wangjiangze/archive/2011/03/03/1970105.html   MySQL中修改密码及访问限制设置详解