Swift

中文教程(一)基础数据类型

基础类型

虽然Swift是一个为开发iOS和OS X app设计的全新编程语言,但是Swift的很多特性还是跟和Objective-C相似。 Swift也提供了与C

Objective-C类似的基础数据类型,包括整形Int、浮点数Double和Float、布尔类型Bool以及字符串类型String。Swift还提供了两种更强大的基本集合数据类型,Array和Dictionary,更详细的内容可以参考:Collection Types。 跟C语言一样,Swift使用特的名称来定义和使用变量。同样,Swift中也可以定义常量,与C语言不同的是,Swift

中的常量更加强大,在

编程时使用常量能够让代码看起来更加安全和简洁。

除了常见的数据类型之外,Swift还集成了Objective-C中所没有的―元组‖类型,可以作为一个整体被传递。元组也可以成为一个函数的返回值,从而允许函数一次返回多个值。

Swif还提供了可选类型,用来处理一些未知的不存在的值。可选类型的意思是:这个值要么存在,并且等于x,要么根本不存在。可选类型类似于Objective-C中指针的nil值,但是nil只对类(class)有用,而可选类型对所有的类型都可用,并且更安全。可选类型是分Swift新特性的核心。

 

可选性类型只是

Swift

作为类型安全的编程语言的一个例子。

Swift

可以

帮助你更快地发现编码中的类型错误。

如果你的代码期望传递的参数类

型是

String

的,那么类型安全就会防止你错误地传递一个

Int

值。这样

就可以让编程人员在开发期更快地发现和修复问题。

常量和变量

常量和变量由一个特定名称来表示,

 

maximumNumberOfLoginAttempt

或者

welcomeMessage

。常量所指向的是一个特定类型的值,如数字

10

或者字符

‖hello‖

 

。变量的值可以根据需要不断修改,而常量的值是不能

够被二次修改的。

常量和变量的声明

常量和变量在使用前都需要声明,

Swift

中使用

let

关键词来声明一个

常量,

var

关键词声明一个变量。如下面例子

let maximumNumberOfLoginAttempts = 10

var currentLoginAttempt = 0

以上代码可以理解为:

声明一个叫

maximumNumberOfLoginAttempts

的值为

10

的常量。然后

声明一个变量

currentLoginAttempt

初始值为

0

 

在这个例子中,最大的登录尝试次数

10

是不变的,因此声明为常量。

而已经登录的尝试次数是可变的,

因此定义为变量。也可以在一行中声

明多个变量或常量,用

,

号分隔:

 

var x = 0.0, y = 0.0, z = 0.0

 

注:如果一个值在之后的代码中不会再变化,应该用

let

关键词将它声

明为常量。变量只用来存储会更改的值。

类型注解

在声明常量和变量时,

可以使用注解来注明该变量或常量的类型。

使用

:

号加空格加类型名在变量或常量名之后就可以完成类型注解。

下面的例

子就是声明了一个变量叫

welcomeMessage

,注解类型为字符串

 

String

var welcomeMessage: String

 

分号

―:‖

在这的作用就像是在说:

类型的,

因此上述代码可以理

解为:

声明一个叫

welcomeMessage

的变量,它的类型是

String

这个类型注解表明

welcomeMessage

变量能无误地存储任何字符串类型

的值,比如

welcomeMessage = ―hello‖

Swift学习的更多相关文章

  1. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  2. 今天开始Swift学习

    今天开始Swift学习  在此记录笔记  以备之后查阅! allenhuang

  3. iOS ---Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  4. 12套swift学习资源分享

    虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...

  5. Swift学习之常用UI的使用

    Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...

  6. [转]swift 学习资源 大集合

    今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...

  7. swift 学习资源 大集合

    今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...

  8. Swift学习笔记(一)搭配环境以及代码运行成功

    原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...

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

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

  10. swift学习 - 计时器

    swift学习之计时器 这个demo主要学习在swift中如何操作计时器(Timer),按钮(UIButton),文本(Label) 效果图: 代码 import UIKit class ViewCo ...

随机推荐

  1. Java语言的特点

    一. 面向对象:其实是现实世界模型的自然延伸.现实世界中任何实体都可以看作是对象.对象之间通过消息相互作用.另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例.如果说传统的过程式 ...

  2. The method setCharacterEncoding(String) is undefined for the type HttpServletResponse 是什么原因?

    response.setCharacterEncoding("gb2312"); 在Servlet2.3中是不行的,至少要2.4版本才可以,如果低于2.4版本,可以用如下办法: r ...

  3. ruby基础语法

    首发:个人博客,更新&纠错&回复 学不同语言,常将它们的基础语法搞混,例如if后面有没有(),后面是then还是:还是{,结尾是end还是}. 这种事情毫无技术含量又毫无乐趣可言,但极 ...

  4. 161222、Bootstrap table 服务器端分页示例

    bootstrap版本 为 3.X bootstrap-table.min.css bootstrap-table-zh-CN.min.js bootstrap-table.min.js 前端boot ...

  5. C# XmlSerializer实现序列化浅析

    C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况. C# XmlSeriali ...

  6. [转]iOS学习之UINavigationController详解与使用(三)ToolBar

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...

  7. 简单练习题2编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能

    编写Java应用程序.首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”.“取款”和“余额查询”.其次, 编写一个主类,在主类中测试Account类的 ...

  8. 【Spring】对象后期处理,BeanPostProcessor

    当我们使用Spring容器管理对象时,需要对对象进行一些后期处理时,比如数据处理.数据预加载,可以使用BeanPostProcessor接口. 简单演示它的用法. 定义扫描包,显示定义BeanPost ...

  9. mysql中查询语句中的一个知识点说明

    1, 简单说明. select * from tb_name where 1[不为零即可];则会显示所有记录,select * from tb_name where 0;则不显示任何记录 假设数据库中 ...

  10. FreeSWITCH中文语音包

    一.中文语音资源的获取 官方提供的资源:http://files.freeswitch.org/releases/sounds/ 自己录音 实在不行可以@我给你发一份. 二.中文资源的安装 英文资源的 ...