码迷,mamicode.com
首页 > 其他好文 > 详细

Swift--基本数据类型

时间:2014-07-02 21:42:15      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:使用   数据   os   io   404   swift   

一.常量和变量

Swift语言对常量和变量的声明进行了明确的区分

使用let关键字声明一个常量:

let maxNmber = 18 //声明了一个常量 初始值为18, 常量的值是不能够改变的,

使用var关键字声明一个变量:

var number = 12   //声明了一个变量,初始值为12, 变量的值是可以改变的

声明一个变量或一个常量时不指定数据类型,编译器自动推倒数据类型.也可以指定数据类型

指定数据类型的方式为 在变量名后加 : 类型名

var number: Int = 12   //整型

var english: String = "abcdefg"  //字符串类型

为了使数字表达更加易读和自然,数字表达格式黑能包含额外信息

如:

let number = 1_000_000

在Swift中 不同类型的常量或者变量一般不能直接进行运算, 如果想要进行运算,需要进行显式类型转换,格式一般为 "类型名(常量/变量名)"

let number1 = 78.5

let number2 = 80

var sum = number1 + Double(number2)

字面量可以直接进行运算

sum = 78.5 + 80

二.元组

元组是Swift语言提供的一种新的数据类型,是一种多个数值的组合,一个多元组可以是任意类型甚至是不同类型数值的组合

var statusInfo = (404, "NotFound")

等同于 var statusInfo:(Int, String) = (404, "NotFound")

该多元组表示了一个整数和一个字符串的组合,当使用时可以从多元组中分解出每个分离的值

使用下标来访问具体位置的元素

println("statusInfoCode = \(statusInfo.0), statusInfoMessage = \(statusInfo.1)")

可以为元组中的每一个独立项命名

var statusInfo = (statusInfoCode: 404, statusInfoMessage:"NotFound")

println("The statusMessage is \(statusInfo.statusInfoMessage)")

元组分解

var (statusInfoCode, statusInfoMessage) = (404, "Not Found")

println("stautsInfoCode:\(statusInfoCode)")

三.可选类型

在 某个元素有值但是类型不确定,或没有任何值的时候使用

let possibleNumber = "123"

let convertedNumber: Int? =  possibleNumber .toInt()

?标识符指示改值是一个选项类型,意味着该类型值可以包含有效的整数值,也可能什么值也不包含

由于toInt方法可能失败,因此编译器推断possibleNumber.toInt()返回的是一个optional Int类型。一个 optional Int 类型在语法上写作:Int?。选项类型的变量或常量指示该常量或变量允许没有值。

可以使用if语句来判断一个选项是否包含了一个值.如果一个选项包含一个值,它被评估为true,否则评估为false.如果使用if语句评估一个选项包含了一个值,然后就能够在选项名字后面添加一个 ! 号来获取该选项的值.如果试图使用!来存取一个不存在的选项值会触发一个运行时错误,因此在使用!来存取选项值之前应该总是确保该选项值包含一个有效值,或者采用上面的方式进行判断

如果要用可选类型中的值可以使用强制解析 !

println("convertedNumber:\(convertedNumber!)")

可以为可选类型的变量设置为nil,表示没有任何值,(只有可选类型才能赋值为nil)

Swift--基本数据类型,布布扣,bubuko.com

Swift--基本数据类型

标签:使用   数据   os   io   404   swift   

原文地址:http://www.cnblogs.com/NatureZhang/p/3819053.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!