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. Git 遇到了 early EOF index-pack failed 问题

    Git 遇到了 early EOF index-pack failed 问题 今天想 clone 一下 boost 在 github 的 repo,结果在 clone 的过程中遇到了下面的错误.我原本 ...

  2. PHP中fopen,file_get_contents,curl函数的区别

    PHP中fopen,file_get_contents,curl函数的区别 1.fopen/file_get_contents每次请求都做DNS查询,并不对DNS的信息进行缓存,而curl会对DNS的 ...

  3. mysql limit查询优化

    mysql数据库中的查询语句有关limit语句的优化. 一般limit是用在分页的程序的分页上的,当应用数据量够小时,也许感觉不到limit语句的任何问题,但当查询数据量达到一定程度时,limit的性 ...

  4. Java enum(枚举)的用法详解(转)

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

  5. yii2框架原生的结合框架使用的图片上传

    首先我们要从model层开始写起,主要是为了创建验证规则,还有图片上传的路径以及图片的命名规则(UploadForm.php) 接下来我们要在控制器层写好业务逻辑,就是什么情况下直接在调用model层 ...

  6. 【转】SVN管理多个项目版本库

    转载地址:http://blog.163.com/zhangxuemin_zy/blog/static/10178565520115704031799/ SVN管理多个项目版本库:   安装SVN服务 ...

  7. 红字差评系列1.第K小数

    [题目分析] 二分答案?smg,我太弱了 //不开longlong wa到挺了 #include <cstdio> #include <cstring> #include &l ...

  8. 从零开始学iPhone开发(3)——视图及控制器的使用

    上一节我们分别使用IB和代码建立了两个视图并且熟悉了一些控件.这一节我们需要了解视图和视图的切换. 在iOS编程中,框架提供了很多视图,比如UIView,UIImageView, UIWebView等 ...

  9. JDBC读取新插入Oracle数据库Sequence值的5种方法

    Oracle的sequence实现非常灵活,所以也带来一些易用性问题,如何取到新插入记录生成的sequence值与其它数据库有较大差别,本文详国介绍了5种实现读取新插入记录sequence值的方法. ...

  10. 简易servlet计算器

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...