1,基本的数据类型
Int Float Double Bool Character等等
2,类型起别名
typealias newName = Int //将Int类型取名为newName
let value: newName = 10
3,类型转换和??语法
String(value)//类型()的形式
let value = (string ?? "0" )//如果string有值就直接复制给value 如果没有就把字符串"0"复制给value
4,可选类型(可能有值可能没有值)
var a: Int? = 10 //打印会出现optional
var b: Int? = nil
!强制解包
print(a!)
5,元组类型: var a = (1,25.5,"hello",true)
var a = (1,25.5,"hello",true)
var b: (Int,String) = (1,"hello")
//取值方法 类数组[] 索引
print(a.0)//取a元组中的第一个元素
//赋值方法
a.0 = 10
//带参数的元组
var a = (name1: 10,name2: "nihao")
a.name1//取值
//元组拆分
let (name1,name2) = (10,"你好")
print(name1) //10
print(name2) //你好
当参数传递和返回
QQ20191023-141219@2x.png
6,运算符
+ - * / //基础运算符:加减乘除
== != > < >= <= //比较运算符
&& || ! //逻辑运算符 与或非
a? b:c //三元运算符: 如果a为真取b的值 为假取c的值
?? //合并空值运算符 (没有则取一个默认值a ?? b)
7,if语句
if a {
}else if b {
}else {
8,可选绑定
//if let 语法 有值就会打印a
var a: Int? = 10
if let a = a {
print(a)
{
9,隐式展开
var a: Int! = 100 //加了!以后 后面可以赋值为nil 如果不加则不能为nil
var b: Int = a
print(b) //100
10,switch case
var a = 10
switch a {
case 10:
print(10)
fallthrough//关键字穿透效果 同时打印10和20
case 20:
print(20)
default:
print("没有匹配")
}
11,区间运算符
var a = 0...5 //0 1 2 3 4 5
var b = 0..<5 //0 1 2 3 4
12,for in 循环
for index in 0...5 {
print(index)//0 1 2 3 4 5 continue:跳出当前循环进入下一次循环 break:结束当前循环
}
13,while 循环和 repeat while循环
//while
var a = 0
while a < 5 {
print(a)//0 1 2 3 4
a += 1
}
//repeat while相当于do while 先运行再判断
repeat {
print(a)
a += 1
}
while a < 5
14,String基本操作
var str = "ABCDEF"
print(str[str.startIndex]) //打印 A
print(str[str.index(before: str.endIndex)])//打印 F
print(str[str.index(str.startIndex,offsetBy: 3)]) //打印 D
print(str[区间...区间])
网友评论