swift 日记一

语法中可以看到oc java c p语言的影子,也借鉴了这些语言的特点

同时具备 编译型语言的高性能和脚本语言的灵活交互性

可以轻松地与c oc混合使用(互相调用)

swift 的源文件的拓展名是。swift

不需要编写main函数

不需要在 每一条语句后面加上分号(注意:如果一行代码山共有多条语句时,需要加上分号)

 常量和变量 

用let来声明常量

eq:let radius = 10;

用var来声明变量

eq: var  age = 20

打印

println(“hello world!”)

字符串的拼接直接用+号

插入直接()

var age = 10

eq:var str = "i have (age)"

数据类

Int Float Double Bool Character String 

Array Dictionary 元组类型(Tuple)可选类型(Optional)

数据类型名称首字母都是大写的

定义类型

在常量变量名后面加上冒号(:)和类型名称

let age: Int = 10

上面代码表示:定义了一个Int类型的常量age,初始值是10

一般都是不会明确指定变量和常量的类型的

如果在声明常量,变量时赋了初始值,Swift可以自动推断出这个常量,变量的类型

let age= 10

Swift严格要求比那里在使用之前必须进行初始化、

整数的4种表现形式 

十进制数 没有前缀

二进制数 0b前缀

八进制数 0o前缀

十六进制数 0x前缀

浮点数

Double 精度高 64位浮点数 至少15为小数

float 精度低 32为浮点数 至少6位小数

不同精度的类型的数也不能相加

浮点数的表示形式

浮点数可以用十进制和十六进制2种进制来表示

十进制(没有前缀)

没有指数:let d1 = 12.5

有指数:let d2 = 0.125e2

//0.125e2 ==0.125 *10的2次方

十六进制(0x前缀)

0xc.8p0//0xc.8p0 == 0xc.8 *2的0次方

数字可以增加额外的格式,使他们更加容易阅读

可以增加额外的零0

let money = 001999 // 1999

可以增加额外的下划线_,增加可读性

let oneMillion1 = 1_000_000//1000000

增加了额外的0和下划线_,并不会影响原来的数值大小

类型别名(相当于在OC中的typedef)

可以使用typealias关键字定义类型的别名,跟C语言的typedef作业类似

typerlias MyInt = Int 

//给Int类型起了一个别名叫做MyInt

原类型名称能在什么地方,别名就能在什么地方用

获得类型的最值

let minValue = MyInt。min

获得类型转换

let num= Myint(3.14)//3

运算符

在OC的基础上增加:

范围运算符:..<、...

赋值:

let(x,y)=(1,2)

跟OC不一样的是:Swift的赋值运算符没有返回值

可以防止误用 = 与==

在Swift中求余可以对小数进行取余

8 % 2.5 = 0.5

BOOL类型

在C语言中:0是假,非0就是真;而在Swift中没有这种概念

Swift中只有对和错 没有01什么的

if语句的结果必须是bool类型只有true和false

三目运算符的条件返回的结果必须是bool的

范围运算符

闭合运算符 a...b 表示[a,b],包含a和b;

半闭合范围运算符:a..<b,表示[a,b)表示包含a,不包含b;

for i in 0..<5

i 从 0到4

溢出运算符

Swfit为整型计算提供了5个&开头的溢出运算符,能对超出取值范围的数值进行灵活的处理

&+   let x = UInt8.max  let y = x &+ 1    //y=0

&—

&*

&/ let x = 10 let y = x /0报错let x = 10 let y = x &/0 不会报错  y的值是0

&%

元组类型

元祖类型有N个任意类型的数据组成(N》=0)

组成元祖类型的类型可以成为“元素”

let person = (name :“zhangsan”,x = 10, y = 1.5)

访问 peson.name person.x    也可以  person.1   person.2

元祖的输出

可以省略元素名称 let positong = (10,20)

可以明确指定类型 let person (Int,String) = (1,"jack")元素名称和元素类型不能共存

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

var person = (20,“jack”)

var (_,name) = pernon

原文地址:https://www.cnblogs.com/naizui/p/5084602.html