接上期,继续数据基础知识点归纳
5、输出语句与拼接
var a = "string"
var b = 8
var c = " Swift"
//输出方法
print(a)
//字符串拼接
print(a + c)
//字符串与其他类型拼接,需要用\()转化字符串
print(a + "\(b)")
print("ddddd - \(b)")
print("\(b) - \(12)" + a)
输出结果
string
string Swift
string8
ddddd - 8
8 - 12string
6、注释
注释同OC
// 单行注释
/*
多行注释
*/
7、类型别名
typealias dog = Int
//dog同Int 都是Int类型,dog是别名
var a:dog = 1
var b:Int = 2
8、类型转换和??语句
var b:Int = 10
//类型转换
print("值等于 = " + String(b))
print(Int(11.5))
print(Double(1))
//??语句 不可转换时用100
var c = "Hello World"
print(Int(c) ?? 100)
当c是String类型且不能转换为Int类型时,会输出??后的100 输出结果
值等于 = 10
11
1.0
100
9、可选类型
/*
类型后加?为可选类型,意为不确定后面有没有值
*/
var a:Int? = nil
var b:Int? = 10
print(a)
//a没有值时返回0
print(a ?? 0)
print(b)
//!语法,如果确定b有值,用b!强行把值取出来
print(b!)
if (b == nil) {
print("b没有值")
} else {
print("b的值 = \(b!)")
print("b的值 = " + String(b!))
}
输出值:
nil
0
Optional(10)
10
b的值 = 10
b的值 = 10
Optional为不确定值,b值的输出为两种写法
10、元组类型
元组类型为不同类型的数据集合
//可以有不同的元素类型
var a = (1,23.4,"hello",true)
//let创建的不可再次修改
let z = (1,23.4,"hello",true)
//指定类型时,集合里也要按照类型的顺序
var b:(Int,String) = (10,"Swift")
print(a)
print(b)
//空元组
var c = ()
print(c)
//如果明确了类型,后面不可用空元素
//var d:(Int) = ()
//取值 根据索引取值
print(a.0)
//修改值
a.0 = 100
print(a)
输出结果:
(1, 23.4, "hello", true)
(10, "Swift")
()
1
(100, 23.4, "hello", true)
字典型创建元组的两种方式
var a = (name1:"hello",name2:true)
print(a)
print(a.name1)
//赋值应与前面类型一致
var b:(name1:Int,name2:String) = (100,"Hello")
print(b.name1)
输出结果:
(name1: "hello", name2: true)
hello
100
元组拆分
let (name1,name2) = ("Swift",1.7)
var (name3,name4) = (100,true)
print(name1,name2)
print(name3,name4)
输出结果:
Swift 1.7
100 true
元组忽略
//当数量不匹配时,用下划线_可以忽略对应位置的值
let (_,name1,name2) = (true,"Swift",1.7)
print(name1,name2)
输出结果:
Swift 1.7