"当我第一次看到它时,我就想,我要掌握Swift。 因为我知道,我将得到的,不仅仅是一个新的程序语言。"
请注意:请不要以任何方式对这篇文章中的任何内容进行复制,转载。如您有任何疑问,您可以随时联系我们: haoyan@spinachelectr.com。
感谢Cooper与可爱的Robert先生,没有他们的帮助,我不可能在这么短的时间与巨大的学习压力下利用车厢中的时间学习Swift。
Swift是苹果公司针对IOS与OS X应用程序开发而设计的一款现代高效率的程序语言,它不像Objective-C那样依赖于C的兼容性。Swift语言非常整洁且优雅,并且更加适合与Cocoa API一起使用。
搭建环境:
要使用Swift,您必须先搭建Swift语言编译环境。您需要一台装有OS X 10.10的计算机,并且安装有Xcode 6.0 。
现在,您可以从苹果开发人员网站上获取这些资源,但前提是您应该已经加入IOS开发者计划或Mac开发者计划或两者,您将会获得一个App Store的兑换码,兑换后,将开始下载OS X 10.10 。
等待下载完毕,您应该将OS X 10.10 安装到您的计算机中并以OS X 10.10进行启动,然后您可以打开浏览器,并下载Xcode 6 。
当您第一次运行Xcode 6.0, Xcode会在您的计算机中初始化环境,这时一些相关的软件将无法运行,例如iTunes。(您或许应该在欣赏完您正听的音乐后再运行Xcode)
我们推荐您在Playground中练习Swift, Playground是Xcode 6.0的一个新功能,在Playground中写程序,您可以立刻看到当前程序的结果,这使得您不必再将结果输出到控制台。
要使用Playground,您需要先创建一个新的项目。
选中Xcode,并点击File - New - Project 。
选择Cocoa Application来创建,将语言改成Swift。
之后单击Next。即可进入新的项目。
在新项目中,选择 File - New - File.., 之后选择Playground来创建一个新的Playground。
进入刚创建的Playground,您会看见一行 import Cocoa。 这就是在Swift中导入Cocoa库你所要做的一切。
在Swift中,您可以不在句尾加分号,但如果您需要把多句写在同一行的话,则必须在句尾添加分号。
常量与变量:
模版中的第二行向您展示了如何定义一个变量。
您需要使用var关键字加变量名来定义变量。通常情况下,您不需要声明变量的类型,编译器会自动为您配置一个变量类型。
这不像一些动态类型语言,Swift中变量也是有明确类型的。如果您试图给一个Int类型的变量赋值一段字符串的话,将会产生编译错误。
您会在右边的较深色区域看到当前这行的结果。
![](https://img-blog.csdn.net/20140606210229421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
值得一提的是,在Swift中,您可以以任何Unicode中的单个字符或字符组合来定义变量名称,这意味的中文变量也是允许的。
![](https://img-blog.csdn.net/20140606210243531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
试试赋给greeting一个整数类型的值,您将会得到什么错误?
您不可以用关键字来作为变量名称,如果您一定要用一个关键字来作为变量名称,那么您应该用“ ` “ 来围绕这个变量,例如您想定义一个叫var的变量应这样写 var `var` = "My name is 'var' "。
即使这样,您也不应该将关键字作为变量名,除非您别无其他选择。
您可以使用“ : ”来给一个变量指定类型。
let关键字用来定义常量。
![](https://img-blog.csdn.net/20140606210320015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
您不可以在运行是给一个常量赋值。
您可以使用[]来创建一个数组或字典(Dictionary,即使您没有导入Cocoa,您也不必像Objective-C中那样导入Foundation库)
![](https://img-blog.csdn.net/20140606210333890?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
图中,somePeoples是一个String数组,而ages是一个<String:Int>的Dictionary。
在Swift中,数组也是以0开始的。
如果您需要创建一个空的数组,您可以这样写 :var anEmptyStringArray = String[]();
当您用双引号来写一段字符串时,可以使用\(变量名称)来插入一个变量。
![](https://img-blog.csdn.net/20140606210359312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
控制流:
if语句:
您可以使用if语句来进行条件判断。
![](https://img-blog.csdn.net/20140606210416765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
同其他语言一样,在if后面接上else来执行当条件不成立时的动作。
您会看到,编译器很聪明的告诉您else中的语句永远不会执行,因为2不会小于或等于1。 (当然,她并不知道或许你有办法让2小于等于1)
for语句:
同其他语言,for语句用来进行循环。让我们来看一个简单的创建Power of Two数组的例子:
![](https://img-blog.csdn.net/20140606210431437?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
num变量会在每次循环中递增,但遗憾的是这个例子中并没有用到它。
0..8表示这个范围, 需要注意的是,还有一种“...”的写法。
他们的区别就是,“..”会从0开始而“...”会从一开始。
您应该用“..”来处理诸如数组的从0开始计数的结构而“...”来进行一些数学运算。
让我们打印出每个数字:
![](https://img-blog.csdn.net/20140606210443984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20140606210457828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BpbmFjaHN0dWRpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
同样,Swift 也提供了对 for initialization; condition ; increment{}这种语法的支持,不过相信您应该更喜欢前者。
今天就先写这些吧,继续复习!
下次会讲Tuple,这是个非常惊人的功能。
请注意:请不要以任何方式对这篇文章中的任何内容进行复制,转载。如您有任何疑问,您可以随时联系我们: haoyan@spinachelectr.com。
感谢Cooper与可爱的Robert先生,没有他们的帮助,我不可能在这么短的时间与巨大的学习压力下利用车厢中的时间学习Swift。
参考读物:The Swift Progarmming Language by Apple.inc
Swift是苹果公司针对IOS与OS X应用程序开发而设计的一款现代高效率的程序语言,它不像Objective-C那样依赖于C的兼容性。Swift语言非常整洁且优雅,并且更加适合与Cocoa API一起使用。
搭建环境:
要使用Swift,您必须先搭建Swift语言编译环境。您需要一台装有OS X 10.10的计算机,并且安装有Xcode 6.0 。
现在,您可以从苹果开发人员网站上获取这些资源,但前提是您应该已经加入IOS开发者计划或Mac开发者计划或两者,您将会获得一个App Store的兑换码,兑换后,将开始下载OS X 10.10 。
等待下载完毕,您应该将OS X 10.10 安装到您的计算机中并以OS X 10.10进行启动,然后您可以打开浏览器,并下载Xcode 6 。
当您第一次运行Xcode 6.0, Xcode会在您的计算机中初始化环境,这时一些相关的软件将无法运行,例如iTunes。(您或许应该在欣赏完您正听的音乐后再运行Xcode)
我们推荐您在Playground中练习Swift, Playground是Xcode 6.0的一个新功能,在Playground中写程序,您可以立刻看到当前程序的结果,这使得您不必再将结果输出到控制台。
要使用Playground,您需要先创建一个新的项目。
选中Xcode,并点击File - New - Project 。
选择Cocoa Application来创建,将语言改成Swift。
之后单击Next。即可进入新的项目。
在新项目中,选择 File - New - File.., 之后选择Playground来创建一个新的Playground。
进入刚创建的Playground,您会看见一行 import Cocoa。 这就是在Swift中导入Cocoa库你所要做的一切。
在Swift中,您可以不在句尾加分号,但如果您需要把多句写在同一行的话,则必须在句尾添加分号。
常量与变量:
模版中的第二行向您展示了如何定义一个变量。
您需要使用var关键字加变量名来定义变量。通常情况下,您不需要声明变量的类型,编译器会自动为您配置一个变量类型。
这不像一些动态类型语言,Swift中变量也是有明确类型的。如果您试图给一个Int类型的变量赋值一段字符串的话,将会产生编译错误。
您会在右边的较深色区域看到当前这行的结果。
值得一提的是,在Swift中,您可以以任何Unicode中的单个字符或字符组合来定义变量名称,这意味的中文变量也是允许的。
试试赋给greeting一个整数类型的值,您将会得到什么错误?
您不可以用关键字来作为变量名称,如果您一定要用一个关键字来作为变量名称,那么您应该用“ ` “ 来围绕这个变量,例如您想定义一个叫var的变量应这样写 var `var` = "My name is 'var' "。
即使这样,您也不应该将关键字作为变量名,除非您别无其他选择。
您可以使用“ : ”来给一个变量指定类型。
let关键字用来定义常量。
您不可以在运行是给一个常量赋值。
您可以使用[]来创建一个数组或字典(Dictionary,即使您没有导入Cocoa,您也不必像Objective-C中那样导入Foundation库)
图中,somePeoples是一个String数组,而ages是一个<String:Int>的Dictionary。
在Swift中,数组也是以0开始的。
如果您需要创建一个空的数组,您可以这样写 :var anEmptyStringArray = String[]();
当您用双引号来写一段字符串时,可以使用\(变量名称)来插入一个变量。
控制流:
if语句:
您可以使用if语句来进行条件判断。
同其他语言一样,在if后面接上else来执行当条件不成立时的动作。
您会看到,编译器很聪明的告诉您else中的语句永远不会执行,因为2不会小于或等于1。 (当然,她并不知道或许你有办法让2小于等于1)
for语句:
同其他语言,for语句用来进行循环。让我们来看一个简单的创建Power of Two数组的例子:
num变量会在每次循环中递增,但遗憾的是这个例子中并没有用到它。
0..8表示这个范围, 需要注意的是,还有一种“...”的写法。
他们的区别就是,“..”会从0开始而“...”会从一开始。
您应该用“..”来处理诸如数组的从0开始计数的结构而“...”来进行一些数学运算。
让我们打印出每个数字:
同样,Swift 也提供了对 for initialization; condition ; increment{}这种语法的支持,不过相信您应该更喜欢前者。
今天就先写这些吧,继续复习!
下次会讲Tuple,这是个非常惊人的功能。