Swift 5.x学习笔记2-基本数据类型

Swift是不用写Main函数的,它会自动将首句可执行的默认作为入口

PlayGround简单介绍

值得一提的是,swift除非一行写多段语句,否则分号爱写不写

注释

swift 里面 //表示单行注释/**  注释内容   **/可以表示多行注释,

Markup/*: 备注内容 */  其中#算一级标题 ##算二级标题,一次类推 *content*表示斜体 **content**表示粗体,[链接名称](链接地址)  无序列表在列表前加- 有序列表前加1,2,3,4这样的顺序

举个例子:

/*:

 # 一级标题

 

 ## 二级标题

 

 ### 三级标题

 

 # 有序列表

 1. 列表1

 2. 列表2

 3. 列表3

 

 # 无序列表

 - 列表1

 - 列表2

 - 列表3

 

 [百度](https://www.baidu.com)

 

 这是**Blod** 这是*Italic*

*/

以上就是Markup代码,效果如图

就不细纠结了,除非讲课,这个作用不大

变量与常量,以及基本数据类型

Swift就两种声明,变量常量,它会自动推断是什么类型,比如var a = 7 ,let b = 8其中a可以重新赋值比如 a = 10,b是不能重新赋值的会报错,这个报错的原因就是语法树的语法分析通不过

Swift是没法直接声明一个常量和变量的,比如let a; var a;这两种声明都不对, 都会报错,如果不直接赋值的话,只能let a:Int;这样声明一个常量或者变量,但常量这样声明总感觉怪怪的,既然准备后面赋值,干嘛不直接整个变量,另外还有就是常量变量赋值前都是不能用的,否则直接报错

变量常量的声明不能是数字开头和图片表情,空白,各种制表符等骚操作

虽然Swift是只有两个声明的,但Swift还是有很多数据类型的,基本和OC一样吧

但很重要的一点是,Int float String..这些是结构体类型的,这点和OC区别就很大了,同时也是Swift效率高于OC的原因,OC处理String Array都是类形式的,类是基于结构体的,但在结构体的基础上多了很多操作,这样无疑比单纯的结构体效率要低很多

另外Swift使用Int Float这些会看到有Int8 Int16 Int32 Int64 ,Float8 Float16...等等,注意下默认的是根据平台来的默认什么平台就是默认多少位,如果需要自定义,比如这个int就是个个位值,那么int8足够,不用跟着平台去创建个64位的Int,也是基于效率考虑

既然是结构体肯定是会增加很多好用的功能了,否则直接整个基础数据类型不就好了,比如Int32.max(Int32可以使用的最大值)Int32.min(Int32可以使用的最小值)

这些类型进行加减也是要强制转换的,并且加减是向上转换比如 let a :Int8 = 2; let b :Int16 = 4; let c = Int16(a) + b;这样才能相加,否则会报错的,但如果是let c = 3 + 0.1415926;就不会报错,因为字面量没有明确类型

元组(tuple)

元组的运用更像是组合赋值,比如

let msg = (404,"Not Found!");

msg.0  //404

msg.1 // "Not Found!

比如只需要做判断的时候也可以这样

let (errorMsg , _) = msg;

if errorMsg == 404 {

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值