我对Swift的几点疑问
2024-09-05 14:32:30
版权声明:本文为博主原创文章。未经博主同意不得转载。 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 ——
最新文章
- 扩展 jquery miniui 组件实现自动查询数据
- plist中的中文数据
- .net Session 超时控制
- Chap5: question 35 - 37
- JAVA- File类
- Python之socket(套接字)
- 移动Web应用开发入门指南——视觉篇
- CUBRID学习笔记 41 sql语法之select
- 解决Hadoop-Eclipse-Plugin放在Plugin目录下没反应的问题
- 网页错误404 or 500
- C/C++基本数据类型所占字节数
- ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl
- Struts2--课程笔记2
- 温故而知新—heap
- JS的forEach和map方法的区别,还有一个$.each
- [Swift]LeetCode949. 给定数字能组成的最大时间 | Largest Time for Given Digits
- [CTSC2018]暴力写挂——边分树合并
- freemarker的template用法
- jdbc连接池&;改进dbUtil成C3P0Util
- openfalcon agent 监控数据