使用Playground编写第一个Swift程序
从控制台输出“HelloWorld”是我学习C语言的第一步,也是我人生中非常重要的一步。多年后的今天,我仍希望以HelloWorld作为第一步,与大家共同开启一个神奇、瑰丽的世界——Swift编程。
本章以HelloWorld作为切入点,向大家系统介绍如何使用Xcode的Playground编写和运行Swift程序代码。
编写和运行Swift程序有多种方式,我们可以通过在Xcode中创建一个iOS或Mac OS X工程来实现,也可以通过使用Xcode6提供的Playground来实现。在学习阶段,我推荐大家使用Playground工具编写和运行Swift程序。
编程利器Playground
Playground离不开Xcode6,它是苹果在Xcde6中添加的新功能。使用Xcode创建工程编写和运行程序,目的是为了使最终的程序编译和发布,而使用Playground的目的是为了学习、测试算法、验证想法和可视化地看到运行结果。
下图所示是一个Playground程序运行界面,其中①区域是代码编写区域,②区域是运行结果区域,③区域是时间轴(timeline)区域。时间轴可以查看程序从上到下按照时间运行的结果,不同时间阶段运行的结果可以通过文本、图形和曲线图表等方式展示给开发人员。
Playground界面
编写HelloWorld程序
下面我们具体介绍如何使用Playground编写HelloWorld程序。首先,打开Xcode6的欢迎界面(如图2-2所示)。一般第一次启动Xcode6就可以看到这个界面,如果没有,可以通过菜单Windows→Welcome to Xcode打开。
在上图所示的欢迎界面中,单击“Get started with playground”弹出如下图所示的对话框。在这个对话框中,我们可以修改Playground文件名以及要保存的目录。完成之后可以单击“Create”按钮创建Playground,创建成功后界面如图所示。
我们在上图所示的界面就可以编辑了,其中模板已经生成了一些代码,修改代码如下:
import Cocoa
var str ="Hello World"
println(str)
代码修改完成后,马上就会编译运行,但是我们在右边只能看到str变量情况,不能看到println输出结果,如图2-5所示。此时可以单击“Hello World”后面的“Value History”按钮,打开时间轴,如下图图所示。
从上图所示的时间轴可以看到输出的结果。其中,Console Output是println函数的输出结果。
我们还可以通过助手编辑器打开Playground时间轴界面,具体操作过程如下图所示。右键单击标题栏,在菜单中选中“Icon and Text”,然后在出现的工具栏中,单击打开助手编辑器。在助手编辑器中也有时间轴界面。
代码解释
Swift实现HelloWorld的方式比C和Objective-C等语言的实现要简单得多,下面我们详细解释一下代码。
1. import Cocoa语句
import Cocoa表示引入Cocoa框架,类似于Objective-C中的#import和C中的#include。至于后面引入何种Cocoa框架,就需要我们查找API来确定了。就本例而言,我们根本不需要Cocoa框架,不过导入也没关系。
2. var str = "Hello World"
声明str变量,var表示声明变量。在var中并不能看出变量是什么类型,但Swift可以通过赋值的类型推断出变量的类型。由于我们赋值的是"Hello World"字符串,因此可知str是字符串变量。我们还应该注意到语句结束时没有出现像C和Objective-C等语言结束时的分号(;)。
3. println(str)
println是一个函数,能够将变量或量输出到控制台,类似于C中的println函数和Objective-C中的NSLog函数。有关格式化输出的问题我们会在后面再介绍。
这样我们通过短短的3行代码实现了一个HelloWorld输出的功能,事实上我们还可以写得更少。
欢迎关注智捷iOS课堂微信公共平台
使用Playground编写第一个Swift程序的更多相关文章
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
- swift学习:第一个swift程序
原文:swift学习:第一个swift程序 最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目
- 【安装eclipse, 配置java环境教程】 编写第一个java程序
写java通常用eclipse编写,还有一款编辑器比较流行叫IJ.这里我们只说下eclipse编写java的前期工作. 在安装eclipse之前要下载java的sdk文件,即java SE:否则无法运 ...
- 【C#入门教案-02】用记事本编写第一个C#程序-Hello World
02-用记事本编写第一个C#程序-Hello World 广东职业技术学院 欧浩源 [1]进行.NET程序开发的最基本环境配备 .NET Framework + 代码编辑工具(记事本或Noetpad ...
- 一起学Hadoop——使用IDEA编写第一个MapReduce程序(Java和Python)
上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第 ...
- 从零自学Java-1.编写第一个Java程序
编写第一个Java程序 完成工作:1.在文本编辑器中输入一个Java程序. 2.使用括号组织程序. 3.保存.编译和运行程序. package com.Jsample;//将程序的包名称命名为com. ...
- Java笔记:编写第一个Java程序
2017.6.17 1.编写第一个Java程序 创建text文本,命名第一个Java程序.txt 在里面编写Java代码 public class Demo1{ public static void ...
- 假期作业02:安装JDK与文本编辑器并编写第一个Java程序
假期作业02:安装JDK与文本编辑器并编写第一个Java程序 一.安装JDK与文本编辑器并编写第一个java程序 首先在oracle官网(需要创建账号,进行登录后方可使用)按照自己的需求下载JDK(h ...
- 编写第一个MapReduce程序—— 统计气温
摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...
随机推荐
- hibernate 实体关系映射笔记
@经常使用属性说明: @Entity:实体类 @Table:指定相应数据表 @Id:主键,使用能够为null值的类型,假设实体类没有保存到数据库是一个暂时状态 @Col ...
- SiteMesh学习笔记
SiteMesh是一个轻量级的web应用框架,实现了Decorator模式.它的目标是将多个页面都将引用的jsp页面通过配置加载到相应的jsp文件中. 在我们的项目中,每个jsp都需要添加两个top和 ...
- ORACLE触发器具体解释
ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容例如以下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 ...
- DataPackage-数据库、表的区域设置和系统不一致导致处理失败
问题描述: 最近学习Datapackage,创建完之后,部署处理但总是提示某某字段的区域设置和目标字段的区域设置不一致,具体如图: 测试发现其它的数据库表又没有这类 ...
- sqlserver 字符串相关函数
http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 以下所有例子均Studnet表为例: 计算字符串长度len()用来 ...
- boost库在工作(36)网络服务端之六
在上面介绍了管理所有连接的类,这个类主要就是添加新的连接,或者删除不需要的连接.但是管理的类CAllConnect是没有办法知道什么时候添加,什么时候删除的,它需要从接收到连接类里获取得到新的连接,从 ...
- APP测试基本流程
一. 测试周期 测试周期一般为两周,根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向主管或产品经理确认项目排期. 二.测试资源 测试任务开始前,检查各项测试资源. 产品功能需求文档 产 ...
- How to update FVDI Commander driver to latest V2015.6.2
As FVDI Commander products are upgraded to new versions, I often receive emails from customers askin ...
- avoid null value in field
Each bean should implements 'InitializingBean'
- Android 自学之画廊视图(Gallery)功能和用法
Gallery与之前讲的Spinner有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框.他们之间的区别在于Spinner显示的是一个垂直的列表框,而Gallery显 ...