Swift学习笔记(2)数据类型基础-可选类型、元组类型

368 阅读2分钟

接上期,继续数据基础知识点归纳

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