从控制台输出“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输出的功能,事实上我们还可以写得更少。

更多内容请关注国内第一本Swift图书《Swift开发指南》
本书交流讨论网站:http://www.51work6.com/swift.php
欢迎加入Swift技术讨论群:362298485

欢迎关注智捷iOS课堂微信公共平台

使用Playground编写第一个Swift程序的更多相关文章

  1. 搭建java开发环境、使用eclipse编写第一个java程序

    搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...

  2. swift学习:第一个swift程序

    原文:swift学习:第一个swift程序 最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目

  3. 【安装eclipse, 配置java环境教程】 编写第一个java程序

    写java通常用eclipse编写,还有一款编辑器比较流行叫IJ.这里我们只说下eclipse编写java的前期工作. 在安装eclipse之前要下载java的sdk文件,即java SE:否则无法运 ...

  4. 【C#入门教案-02】用记事本编写第一个C#程序-Hello World

    02-用记事本编写第一个C#程序-Hello World 广东职业技术学院  欧浩源 [1]进行.NET程序开发的最基本环境配备 .NET Framework + 代码编辑工具(记事本或Noetpad ...

  5. 一起学Hadoop——使用IDEA编写第一个MapReduce程序(Java和Python)

    上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第 ...

  6. 从零自学Java-1.编写第一个Java程序

    编写第一个Java程序 完成工作:1.在文本编辑器中输入一个Java程序. 2.使用括号组织程序. 3.保存.编译和运行程序. package com.Jsample;//将程序的包名称命名为com. ...

  7. Java笔记:编写第一个Java程序

    2017.6.17 1.编写第一个Java程序 创建text文本,命名第一个Java程序.txt 在里面编写Java代码 public class Demo1{ public static void ...

  8. 假期作业02:安装JDK与文本编辑器并编写第一个Java程序

    假期作业02:安装JDK与文本编辑器并编写第一个Java程序 一.安装JDK与文本编辑器并编写第一个java程序 首先在oracle官网(需要创建账号,进行登录后方可使用)按照自己的需求下载JDK(h ...

  9. 编写第一个MapReduce程序—— 统计气温

    摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...

随机推荐

  1. 基础数据结构 之 队列(python实现)

    队也是编程开发中常见的一种数据结构.栈和队可用来模拟函数的递归过程.队的特点为先入先出,主要操作包括入队和出队.入队时需判断队是否已满,出队时需判断队是否为空.下面给出一个队的python实现的例子: ...

  2. node搜索codeforces 3A - Shortest path of the king

    发一下牢骚和主题无关: 搜索,最短路都可以     每日一道理 人生是洁白的画纸,我们每个人就是手握各色笔的画师:人生也是一条看不到尽头的长路,我们每个人则是人生道路的远足者:人生还像是一块神奇的土地 ...

  3. const 成员方法

    1.使用场景 代码提供者告诉客户(代码使用者),这个方法不会修改对象的内容,请客户放心使用. 2.代码提供者,尝试在const成员方法中修改对象内容,编译报错.在成员方法中,this是const 指针 ...

  4. Educational Codeforces Round 1 B. Queries on a String 暴力

    B. Queries on a String Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/59 ...

  5. codeforces Gym 100500 J. Bye Bye Russia

    Problem J. Bye Bye RussiaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1005 ...

  6. C# - 函数参数的传递

    近段时间,有几个刚刚开始学习C#语言的爱好者问我:C#中的函数,其参数的传递,按值传递和按引用传递有什么区别.针对这一问题,我简单写了个示例程序,用以讲解,希望我没有把他们绕晕.因为,常听别人说起:“ ...

  7. iOS开发——UI篇OC篇&TextField作为搜索框的使用

    TextField作为搜索框的使用 在iOS开发中我们经常会使用到搜索框,但是有的时候系统自带的搜索框不足以满足我吗想要的功能,这个时候我们就可以使用自定义的搜索框实现想要的功能. 今天就简单的介绍一 ...

  8. C++之EOF()

    fstream流的eof()推断有点不合常理 按常理逻辑来说,假设到了文件末尾的话,eof()应该返回真,可是,C++输入输出流怎样知道是否到末尾了呢? 原来依据的是:假设fin>>不能再 ...

  9. MYSQL分页limit速度太慢优化方法

    http://www.fienda.com/archives/110 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死 ...

  10. SQL SERVER 查询Job作业基本信息及执行情况

    查询作业基本信息和作业执行情况 SELECT [jop].[job_id] AS '作业唯一标识符' ,[jop].[ name ] AS '作业名称' ,[dp].[ name ] AS '作业创建 ...