Swift语言入门教程

关于Swift

Swift是为IOS和OSX应用制定的新编程语言,吸取C和Objective-C语言的精粹,但不损失与C语言的兼容性。Swift采用安全编程模型、加入了各种现代编程语言特性,使得该语言更易被掌握、更具扩展性,用起来更有趣。Swift语言的奠基石是已经成熟的、并为大家所喜爱的Cocoa和Cocoa Touch框架,新语言使大家可以尽情畅想新软件开发的机遇。

Swift沉积了多年的研发成果,苹果公司为提供高效Swift语言编译器、调试器和基础架构打下了坚实基础。我们使用Automatic Reference Counting(ARC)技术简化内存管理。我们的框架设计,建立在Cocoa稳固的基础框架上。已经彻底完成了标准化和现代化的改进。Objective-C的改进支持了块定义,集合语法、模块,使语言框架合理集成了现代语言技术。要感谢前人的基础工作,使我们现在能够向大家介绍苹果公司未来的软件开发语言。

对Objective-C开发者来说,Swift是比较容易上手的,它采用和Objective-C类似的参数命名规则和强大的动态对象模型。它提供无缝的使用Cocoa框架和与Objective-C代码混合即用的互操作特性。构建在这些基础上,Swift语言带来了许多新的特性、也重新集成了过程式语言和面向对象语言功能。

对新学习编程的人来说,Swift语言是门友好的语言。一门作为工业前沿的系统编程语言,Swift语言能够象脚本语言一样易于表述和理解。它支持“playgrounds”技术,作为一项革新功能,开发者可以使用它进行Swift的即时运行和直观地看到结果,而不用从头重新编译运行程序。

Swift集成了现代计算机语言的智慧,汇入了苹果公司软件研发的精粹。Swift编译器针对性能进行了优化,而语言本身也针对现有的开发环境进行了优化,功能和性能得到平衡和发展。它能够设计小到“hello world”程序、大到操作系统级别的程序。所有这一切使swift语言对开发者和苹果公司来说都将更有吸引力。

使用Swift语言编写iOS和OS X应用将非常愉悦,它将继续发展新的语言特性、包含更多功能。我们对Swift的发展雄心勃勃,也迫不及待地将这个工具送给大家去使用、去创造。

Swift入门之旅

学习一门新的计算机语言,传统来说都是从编写一个在屏幕上打印“Hello world”的程序开始的。那在Swift,我们使用一句话来实现它:

println("Hello, world")

如果你编写过C或者Objective-C语言,Swift中的这个语法看起来便很熟悉,这句话却是一个完整的程序。你无须为了得到输入/输出或字符串处理去导入一个独立的功能库。编写全局代码通常用于程序的进入点。你不需要写一个main函数,你也不需要为每个语句写个逗号作为结尾。

这个入门之旅将给你足够的信息去开始编写Swift代码,你可以实现许多的编程任务。这个过程中如果你有些内容不理解也不要担心,我们将在本书的其他章节细节处为您解释。

批注:

为了更好的体验开发,请在Xcode中使用playground编辑这个章节的代码。Playgrounds允许你在一边编辑代码的同时看到代码的即时运行结果。

简单赋值:

用于你把一个常量和变量作为成变量。常量的值不必每次都传给编译器,但你必须提前赋个数值给它。就是说常量可以赋值一次而多处引用。

var myVariable = 42

myVariable = 50

let myConstant = 42

相同的类型才能进行常量和变量的赋值,但是,你不用每次都显式地定义类型,编译器可以自动判断。创建常量或变量的时候顺便赋值可以让编译器知道它属于什么类型。上面的例子,编译器指定myVariable变量属于整数类型,因为它用一个整数进行初始化。

如果初始值不能表达足够的类型信息(或没有初始值),则在变量后面加一个冒号和指定的类型。

let implicitInteger = 70

let implicitDouble = 70.0

let explicitDouble: Double = 70

练习:

显式创建一个值为4的浮点类型的常量

赋值不会自动隐式地变成另外一种类型,如果你需要把一个赋值变更到另外一种类型,你需要显式地创建目标类型的实例。

let label = "The width is "

let width = 94

let widthLabel = label + String(width)

练习:

试着把最后一行的字符串转换声明去掉,看看会出什么错误?

这里有更简便的方法把数值包含在字符串里面:把数值写在括号里面,把斜杠写在括号前面,示例如下:

let apples = 3

let oranges = 5

let appleSummary = "I have \(apples) apples."

let fruitSummary = "I have \(apples + oranges) pieces of fruit."

试验:

在字符串中使用 \()包含一个浮点计算结果,同时也包含对某个人的名字和祝词。

使用方括号([])创建数组和字典,然后在方括号中使用索引下标存取各元素的值。

var

shoppingList = ["catfish", "water", "tulips", "blue paint"]

shoppingList[1] = "bottle of water"

var occupations = [

"Malcolm": "Captain",

"Kaylee": "Mechanic",

]

occupations["Jayne"] = "Public Relations"

我们使用初始化语法来创建空数组和字典

let emptyArray = String[]()

let emptyDictionary = Dictionary<String, Float>()

如果能推断指定类型,你可以写一个空数组[]和空字典[:]- 例如: 当你设置一个新给变量或传值给函数的参数的时候。

shoppingList = []   // 购物和放置各种东西.

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

时间: 2024-10-07 07:18:07

Swift语言入门教程的相关文章

零基础易语言入门教程(二)之编程思路_易语言

易语言简介: 易语言是一门以中文作为程序代码编程语言.以"易"著称.创始人为吴涛.早期版本的名字为E语言.易语言最早的版本的发布可追溯至2000年9月11日.创造易语言的初衷是进行用中文来编写程序的实践.从2000年至今,易语言已经发展到一定的规模,功能上.用户数量上都十分可观. 上一篇跟大家讲了零基础易语言入门教程(一)编写第一个程序,然后接下来大家应该自己把支持库和易语言组件里面的控件全部认真的看一下,下面我直接跟大家分享下易语言简单编程思路. 方法和步骤如下所示: 1.易语言程序

零基础易语言入门教程(五)之逻辑型数据类型_易语言

在上篇文章给大家介绍了零基础易语言入门教程(四)之数据类型,上篇针对数值到文本类型知识,今天给大家介绍下逻辑型数据. 具体方法和步骤如下所示: 1.逻辑型数据非真即假: 首先申请一个局部变量(A)类型为:逻辑型,编写代码为:A=1>2,那么输出的结果应为假,因等于1是赋值与1,然后代码中写道1大于2,所以这是假的,见下图所示: 2.关系运算符: 在上图大家需注意的是,A后面的等于号是赋值符号,而后面的≥,≠,<一些符号则是关系运算符. 关系运算符不是非要设置变量给其赋值才可以使用的,同样他可以

Swift初体验之HelloWord+苹果Swift编程语言入门教程【中文版】

AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.swift // SwiftHelloWord // // Created by jason on 14-6-5. // Copyright (c) 2014年 JasonApp. All rights reserved. // import UIKit @UIApplicationMain class AppD

零基础上手Swift快速入门教程概览_Swift

Swift是苹果的品牌新的编程语言,在2014年WWDC(苹果开发者大会)上发布的编程语言. 随着Swift语言的发布,苹果也发布了一个出色的SWIFT的参考指南,这里强烈推荐. 但是这个学习指南又长又瘦!所以,如果没有很多的时间,只是想快速学习Swift,那么本教程就是为你准备的. 本 Swift 教程将需要大约25分钟学习,给出 Swift 语言一个快速浏览,包括变量,控制流,类等以及更多的最佳实践. 对于本Swift教程,需要Xcode最新版本(在写这篇Swift教程的时候使用的是Xcod

Java语言入门教程(九):Java语言中的值传递

在第八篇博文中,介绍了编写方法体必须了解的基本知识点,初学者已经可 以自己写简单的例子进行练习.在练习过程中,我们不可能把所有的代码都放在 main方法中,Java类一定会有或多或少的方法成员,调用这些方法将是必要的步 骤.而调用方法成员时,如果该方法有参数,就必须要传递实际参数给方法的形 式参数.所以了解Java语言中的值传递是非常必要的. Java中的数据类型分两种,基本数据类型和引用类型.所以本文中也将分别 对这两种数据类型的值传递特征进行介绍. 1.基本数据类型的值传递:基本数据类型传递

Swift 编程语言入门教程_Swift

原文地址:http://gashero.iteye.com/blog/2075324 目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Obj

Java语言入门教程(十六):Java语言中的接口

通过前面几篇文章的学习,初学者可以初步掌握Java语言中继承的概念和使 用方法,对抽象类的使用也有一定的理解.值得注意的是,Java中类与类的继承 是单继承,也就是一个子类最多同时可以继承一个父类.那么让我们看下面的例 子. 假设我们要开发一个游戏系统,而游戏系统中有三种飞行器:飞机.小鸟. 蜘蛛侠.这三种飞行器都需要实现起飞,飞行,降落的逻辑,但是实现方法各不 相同.那么这三个类应该有一个抽象类作为父类,规范共同行为. package com.csst.inter; public abstra

Java语言入门教程(十三):Java语言中继承中的构造方法问题

教程(十一)中,了解了Java语言中继承的基本概念.Java中类与类的继承 ,是单继承,主要目的是复用.子类对象可以复用父类中权限允许的属性和方法 ,所以子类的构造方法和父类的构造方法之间,有一定的调用关系,本文中将进 行详细介绍. 首先,需要记住一个事实:子类的任何一个构造方法,都将先调用父类某个 构造方法.如子类Trainer中的构造方法: public Trainer() { } 虽然这个构造方法的方法体中什么代码也没有写,但是也调用了父类 Employee的构造方法,默认调用的是Empl

Java语言入门教程(十一):Java语言中的数组

在教程(十)中,我们学习了Java类之间常见的两种关系,即关联和依赖. 如果A关联或依赖B,如果仅从A到B这个方向看,从数量上,可能有1对1和1对多 两种可能.面向对象的应用,都是映射现实世界的对象以及对象之间的关系的, 仔细考察一下我们身边的情况,对象与对象之间如果存在关联或依赖,其实1对 多的关系更为常见.如,一个部门有多个员工,一个学员有多个院系,一个人有 多张毕业证书- 上篇文章中的例子,学生只能选择一门免费课程学习,如果培训中心加大优 惠力度,每个学生最多可以选择3门课程学习,应该如何