第二章、数据类型

2017-05-15  本文已影响0人  泡水鱼干

2.1常量与变量

2.1.1常量

语法:let常量名=常量值

说明:定义不可改变

常见错误:cannot assign to let value‘count’

命名规则:字母下划线开头,后跟数字字母,不可使用关键字、区分大小写

举例:

import Foundation

let count = 100

print(count)

2.1.2变量

语法:var变量名=值

说明:可改变

命名规则:字母下划线开头,后跟数字字母,不可使用关键字、区分大小写

举例:

import Foundation

var a = 60

print(a)

多个常量或变量的声明在同一行需要用;隔开

2.1.3指定数据类型

语法:{let,var}名称:类型=值

举例:

import Foundation

var a:Int=100

print(a)

2.2简单的数据类型

类型大小(字节)区间值

Int8 1字节-127到127

UInt8 1字节0到255

Int32 4字节-2147483648到2147483647

UInt32 4字节0到4294967295

Int64 8字节-9223372036854775808到9223372036854775807

UInt64 8字节0到18446744073709551615

Float 4字节1.2E-38到3.4E+38(~6 digits)

Double 8字节2.3E-308到1.7E+308(~15 digits)

获取数据类型边界

import Foundation

let minValueUInt8=UInt8.min

let maxValueUInt8=UInt8.max

2.2.1整型(Integer)

int8、UInt8、Int32、UInt32、Int64、UInt64

2.2.2浮点

Float、Double(当浮点值非常大或特别准确时候使用)

Float的精准度低于6位十进制数字

Double至少有15位十进制数字的精准度

2.2.3字符/字符串

字符类型:Character

注意:字符型只能放一个字母

举例:

import Foundation

var c:Character=“L”

print(c)

字符串:String

举例:

import Foundation

var s:String=“Hello World”

print(s)

2.2.4布尔

说明:布尔只有两个值true和false

注意:区别php、python的自动转换

举例:

import Foundation

var bool:Bool=true

print(bool)

2.2.5可选类型

说明:可选类型用来判断值是否存在,如果值存在就会输出,如果不存在就会返回一个nil

nil是一个特定的类型的空值,任何类型的可选变量都可以被设置为nil

nil是swift专用类型

语法:{let,var}名称:数据类型?

举例:

import Foundation

let a:Int?

print(a)

2.3字面值

2.3.1整数的字面值

十进制数,没有前缀

二进制数,前缀0b

八进制数,前缀0

十六进制数,前缀0x

举例:

import Foudation

var decimalInteger=17

var binarayInteger=0b10001

var octalInteger=017

var hexadecimalInteger=0x11

2.3.2浮点类型的字面值

2.3.2.1用十进制或十六进制表示:12.18

2.3.2.2科学计数法

语法:

十进制:n.ne+/-p

十六进制:n.np+/-p

举例:

1.25e2->125

0xFp2->60

0xFp-2->3.75

2.3.3字符型字面值

字符型字面值通常使用双引号表示,“A”

2.3.4字符串字面值

2.3.4.1双引号包含的字符串

2.3.4.2转义序列

\0 空

\\ 反斜杠

\t 制表符

\n 换行

\r 回车

\” 双引号

\’ 单引号

2.3.4.3Unicode标量

单字节Unicode标量,写成\unn,其中nn表示两位十六进制数

两字节Unicode标量,写成\unnnn,其中nnnn表示四位十六进制数

四字节Unicode标量,写成\unnnnnnnn,其中nnnnnnnn是八位十六进制数

举例:

import Foundation

let dollarSign="\u{24}"

let blackHeart="\u{2665}"

let sparklingHeart="\u{0001F496}"

print(dollarSign)

print(blackHeart)

print(sparklingHeart)

2.3.5布尔类型的字面值

布尔类型的字面值只有true、false

2.4高级数据类型-元组

高级数据类型包含:类、结构、函数、元组等

swift将它自己的数据类型分为两类:命名类型、复合类型

命名类型:类、结构、枚举、协议、简单数据类型

复合类型:没有名字,由swift语言本身定义的类型

语法:(value1,value2,value3,......)

说明:值可以是任意的数据类型

元组类型的变量\常量

语法:{var,let}(name1,name2,name3,….)=(value1,value2,value3,….)

说明:常量\变量的个数必须要和元组字面量中的个数一致

举例:

import Foundation

var(code,msg)=(403,"not found")

print(code)

print(msg)

访问元组的值

语法:\(name)或使用索引访问

举例:

import Foundation

var(code,msg)=(403,"not found")

var string:String="code:\(code),message:\(msg)";

print(string)

#忽略元组中的值:

import Foundation

var a=(1,2,3)

var(b,_,c)=a

print(b)

print(c)

#使用索引访问

import Foundation

var a=(1,2,3)

print(a.0)

print(a.1)

print(a.2)

#命名元组中的个元素

import Foundation

var a=(b:1,c:2,d:3)

var s:String="b is \(a.b)"

print(a)

print(a.0)

print(a.b)

print(s)

2.5类型别名

为现有的类型定义代替的名称

语法:typealias类型别名=数据类型名称

举例:

import Foundation

typealias AudioSample = Int

var maxAudioSample=AudioSample.max

print(maxAudioSample)

上一篇下一篇

猜你喜欢

热点阅读