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. jQuery简介及语法

    jQuery引入 jQuery语法

  2. C 语言中的指针和内存泄漏

    引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧 ...

  3. 。。。在学习新框架Spring MVC的感受。。。

    已经学习一遍Spring MVC了,感觉还是懵懵懂懂的,特别是重定向,路径,参数的这些问题,心好乱,不过,这,都不是问题!!! 继续努力,努力到会为止!!!加油!!!

  4. Android studio 查看签名

    根据密钥查看 根据安装包查看:改apk为zip 解压 打开 META-INF --->cmd: keytool -printcert -file CERT.RSA

  5. PAT乙级 1033. 旧键盘打字(20)

    1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...

  6. UNIX网络编程学习指南--epoll函数

    epoll是select/poll的强化版,都是多路复用的函数,epoll有了很大的改进. epoll的功能 1.支持监听大数目的socket描述符 一个进程内,select能打开的fd是有限制的,有 ...

  7. Linux 多线程编程 实例 2

    编写一个程序,开启3个线程,这3个线程的ID分别为A.B.C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示:如:ABCABC….依次递推. 使用条件变量来实现: #inc ...

  8. 阿里云oss上传图片

    1.首先我们要下载阿里云oss的sdk包:(可以下载原版的,改过的通用版在本人的百度云,嘎嘎嘎~) 2.下载好之后放到项目文件目录里面 3.要在需要的控制器引用这个sdk文件例如: include(& ...

  9. noi 2718 移动路线

    题目链接: http://noi.openjudge.cn/ch0206/2718/ 右上角的方案数 f(m,n) = f(m-1,n) + f(m,n-1); http://paste.ubuntu ...

  10. python 学习笔记八 进程和线程 (进阶篇)

    什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执 ...