Swift专栏:第二章 Swift基础语法(二)

本文介绍Swift语言中的元组使用方式,包括元素访问、声明及初始化;探讨类型别名的概念及其应用;并简述类型转换、断言等实用功能。

2.1.7 元组

在关系型数据库中,数据库中的每个表都可以拥有多个字段,表中每一行代表一条记录,每行都由各个字段组合在一起,每条记录就是元组。

Swift语言中的元组操作相当灵活,你可以直接使用元素名访问元组中的元素,也可以使用元素在元组中的顺序下标访问元素。

当然,对于函数返回值到底是使用普通类型、元组还是结构体,我们在这里引用一句编程箴言:“没有不好的程序,只有不合适的应用场景”。

//appTypeappName将被推断为String类型

let (appType,appName)=("game","2048")

print("i have \(appType) name is \(appName)")

//声明一个拥有两个元素的元组,并同时初始化

let myProject = (oneElement:"game",twoElement:2048)

//注意元组下标是从0开始计数的

print("project type is \(myProject.oneElement)")

print("project name is \(myProject.1)")


2.1.8 类型别名

类型别名,顾名思义就是给已有的类型取另外一个名字,但是在同一个地方可以有多个人拥有相同的小名,而同一个工程中却不能出现重复的别名。定义类型别名使用typealias关键字。

//Int8取一个别名

typealias ShortInteger = Int8

var myInt:ShortInteger

var myInt1:Int8


2.1.9 类型转换

强制类型转换中需要注意的一点是将浮点数转换为整型数值的时候,不会分正负,浮点数都会被截断,仅保留整数部分。

我们需要使用类型名称包含需要转换的值来构成强制类型转换表达式。

//强制类型转换

let intValue = Int(12.5)

print(intValue)


2.1.10 断言(assertion)

在实际编码中,为了保证程序正常运行,只有在某些必要条件被满足的情况下才执行特定代码段,这种编程思想叫做防错性编程。assert则是单纯地触发断言即停止程序,不会让你有机会将可能出错的设计走过它这一关。在Swift语言中可以调用全局的assert函数来增加一个断言,这里的全局意思是你可以将断言下在程序的任何一个地方。

断言的使用场景:

1.验证参数的合法性。

2.将要使用一个对象,,但是不确定其是否已经正确创建。

3.数组或者其他集合类、字典等复杂数据类型下标没有处于安全范围导致可能会越界。

4.assert函数的条件表达式参数最好一次只判断一个条件,因为如果判断多个条件,当断言被触发时,往往会无法直观地判断到底是哪一个条件未被满足。

//断言

let useDate = 6

assert(useDate<=0,"超出试用期,不能启动程序")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值