数据类型

常见数据类型

Int、Float、Double 、String 、Bool 、 Character、 Array、 
Dictionary、 Tuple(元祖)、Optional(可选类型) 

变量类型的指定:

 let age: Int = 10;
 一般情况下没有必要指明变量/常量的数据类型,因为给变量赋值以后,
 系统会自动的推断出该变量/常量的类型(定义标识符的时候直接赋值);
 
1:整数类型
<1>无符号类型(signed):正、负、零;

UInt8:8位无符号整型

Int32:32位有符号整型


<2>:最值

可以通过min和max来获取某个类型的最小值和最大值;

let minValue = UInt.min;

let minValue1 = UInt.max;

<3>: 有符号类型(unsigned):正、零;

<3>:整数的4种表示形式

十进制(没有前缀)
let i1 = 10;

二进制(以0b为前缀)

let i2 = 0b010;   //10


八机制(以0o为前缀)

let i3 = 0o12;   //10

十六机制(以0x为前缀)

let i4 = 0xA;    //10

整型的书写格式:
let money = 00100 //100
let money1 = 1_000_000 //1000000

2:浮点数
Double:默认为至少精确到15位小数;
Float:默认为至少精确到6位小数;
浮点数在swift中默认的是Float类型;


十进制
没有指数
let a = 12.5;
let b = 0.125e2; 这里的e2表示10的2次方;
3:BOOL类型

c和oc中非0为真

但是在swift中的布尔值只为true或false;

比较运算符和逻辑运算符的返回值只有两种可能

三目运算符的条件必须是BOOL类型的值 

3:元祖
(1):是一种数据结构
(2):类似于数组或者数据
(3):组成元祖类类型的数据可以称之为“元素”

3.1:元祖类型是由N个类型任意的数据组成(N>=0)
1:
let position = (x:10.5,y:10);

position有两个元素,x和y值元素的名称

2:
let data = ()

data是一个空元祖


3.2:元素的访问
let point = (x:10,y:20)

point.x  ==   10

point.y ==    20

point.0  == 10

point.1  == 20



point.x = 40(赋值)

注意点:

如果用let来定义一个元祖,那么她就是一个常量,就无法修改她的元素的值;

3.3:元祖的使用细节
<1>:可以省略元素的名称
let point = (10,30.8);


<2>:可以明确的指定元素的类型
let person:(Int,String) = (20,"hefagui")


<3>:注意点:
在明确指定元素的类型的情况下不能加上元素的名称

let person = (age:20,name:"hefagui");

<4>:可以使用多个变量接收元祖数据
var (x,y) = (10,20);  解释:x == 10   y == 20
var point = (x,y)     解释:point由2个元素组成,分别是10和20

<5>:可以将元素分别赋值给多个变量
var point = (30,40);

var (x,y) = point;   解释:x == 30  y == 40

<6>:可以使用下划线_来忽略某个元素的值,取出其他的元素的值

var person = (20,"eryue");
var (_,name) = person;

你可能感兴趣的:(数据类型)