Swift 关于数据类型、可选类型

Swift 打印输出/数据类型/变量输出/可选类型/常量 这里写自定义目录标题1. 打印输出2. 数据类型2.1 字符:Character2.2 可选类型:Optional3. 变量输出4. Swift 可选(Optionals)类型4.1 强制解析4.2 自动解析4.3 可选绑定5. Swift 常量5.1 常量声明5.2 类型标注 1. 打印输出 swift 使用 print 函数打印输出: print("Runoob") // 输出 Runoob 如果我们想让其不换行输出,只需要将最后一个参数赋值为空字符串即可: for x in 0...10{ 阅读详情

类型别名

给数据类型取别名。比如给Int数据类型取别名,一个叫小孩,一个叫少年,一个叫青年,一个叫老年。实际上都是Int数据类型,只不过在代码阅读的时候,方便理解得多。

给数据类型取别名,使用typealias关键字。

    typealias child = Int
    typealias Teenager = Int
    typealias young = Int
    typealias old = Int

类型转换

强制转换:()

    var a = 11
    var b = String(a)

?? 语法:
当我们强制转换一个数据类型的时候,如果转换不了,那么就告诉编译器,转换不了的时候,取我??符号后面的值。

    var a = "hello"
    var b = 12
    b = b + Int(a)??10

此时a的值是非数字字符串类型,所以转不了Int,因此会取??后面的10作为参数,最终b的赋值为12+10=22.

可选类型:问号?与 感叹号!

当我们用var来定义变量而不赋初始值的时候,系统就会报错。因为swift需要值的内容来确定该变量的数据类型,并不会像java、oc等语言一样,给没有初始化的变量赋初始值。

而在声明变量的时候,在声明类型的右侧加上“ ? ”,则表示该变量有可能为空,有可能不为空。这时候编译器就不会强制给该变量赋初始值了,也就不会报错了。

在开发中,空nil也是一种数据类型
我们经常会碰到,有些变量比如Button暂时为空,仅仅是先声明有这么一个Button,还没有初始化赋值,这种情况在所难免。
由于Swift是强类型语言,Button的类型应该是UIButton而不是nil空类型,Swift中必须要明确每个变量与值的类型一一对应上,因此,当Button = nil 时会报类型不匹配的错误。
遇到这种情况可以声明该值可能为空的变量为可选类型

另外,比如String的可选类型和String类型不是同一种类型,在进行赋值的时候也是会报错的。

func getSomeString()->String?{
	......
}

let someString:String = getSomeString()//错误
//因为getSomeString()方法返回的是一个可选的String类型,
//和someString变量所声明的String类型不是同一种类型,所以编译不通过。

let someString:String= getSomeString()//正确
可选类型的声明方式:
//方式1:
var button : Optional<UIButton> = nil
//方式2:
var name : String? = nil

如果我们确定某变量有值,可以在其右侧加上“ ! ”进行强制解包, 则表示告诉编译器该变量不为空,使得可以直接取出Optional当中的值。但如果该变量为nil而进行了强制解包,则会导致系统崩溃。如果真的需要进行强制解包的操作,建议在解包前,先对变量是否为nil做一下判断。

var year : Int = 100	//对的
year = nil	//报错
var years : Int= 100	//对的
years = nil	//允许编译通过
可选绑定:

使用可选绑定写法就不需要加!进行强制解包了。

var string : String?
if let year = string {
    print("year is \(year)")
}
NIDS——suricata(一) NIDS——suricata环境安装和规则编写 阅读详情

相关推荐

RK3588开发笔记-MIPI-CSI接口视频解码芯片XS9922B调试

Rockchip RK3588 是一款高性能的处理器,支持多种摄像头接口,包括 MIPI(Mobile Industry Processor Interface)接口。MIPI是一种用于移动设备和嵌入式系统中的摄像头、显示器和其他传感器设备的串行接口标准。MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准。CSI-2(Camera Serial Interface 2)是MIPI 联盟定义的另一种高速接口,主要用于摄像模组和处理器之间的连接。

flypig has a dream! 6720

Swift基础知识:26.Swift类型转换

类型转换是 Swift 中用于将实例从一种类型转换为另一种类型的重要操作。和 is,我们可以在需要时安全地进行类型转换或者检查实例的类型,避免因为类型不匹配而导致的运行时错误。在 Swift 中,类型转换是指将一种类型的实例转换为另一种类型的操作。Swift 提供了三种类型转换操作:as?is 用于检查实例是否属于某种类型。如果实例属于指定类型,返回。

长沙火山 1033

FOC技术笔记-新修板 .pdfFOC技术笔记-新修板 .pdfFOC技术笔记-新修板 .pdf

FOC技术笔记-新修板 .pdf

Swift 中的感叹号( ! )与问号( ? )之谜

基本了解 在Swift代码会经常看到定义属性或方法参数时类型后面会紧跟一个感叹号( ! )或问号( ? ), 刚开始接触Swift的童鞋就可能不太明白之代表什么意思,一头雾水,开始凌乱了。 本文将带你了解感叹号( ! )与问号( ? )之谜,首先问号( ? )是可选类型,是用来处理值可能缺失的情况,也就是没有值的情况(也就是OC中NULL); 感叹号( ! )就是与之相反的, 就是一定有值(非可选...

我只是一个攻城狮 2194

Swift之 ? 和 !

04 June 2014 Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错: var stringValue : String //error: variable 'stringValue' used before being init

hanbing861210的专栏 1083

Swift中的问号?和感叹号!

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错: var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue

qq_24732141的博客 392

《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)

原创文章,欢迎转载。转载请注明:关东升的博客    在使用可选类型可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的,下面我来详细说明一下。  1. 可选类型中的问号(?) 声明这个类型可选类型,访问这种类型的变量或常量时要使用感叹号(!),下列代码是显示拆包:    let result1: Double? = divide(100, 200) prin...

关东升 219

Swift 学习总结一:数据类型可选类型(Optionals)

内置数据类型 Swift 提供了非常丰富的数据类型,以下列出了常用了几种数据类型: Int 一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同: 在32位平台上,Int和Int32长度相同。 在64位平台上,Int和Int64长度相同。 除非你需要特定长度的整数,一般来说使用Int就够了。这可以提高代码一致性和可复用性。即使是在32位平...

jike_yangyujing的博客 528

Swift数据类型可选类型

本文是对swift新增的可选类型介绍以及使用

sunJingLove的博客 886

Swift可选数据类型

刚刚看swift语言,被可选类型弄得很绕,看了好几遍,大概整理了一下。 使用可选类型的意义:当一个我们访问一个可选类型的常量或者变量的时候当它的值为空时不会报空指针而是表示没有值(避免了空指针的错误)。即使用可选(optionals)来处理值可能缺失的情况。 可选类型的值有两种情况:有值、或者为nil。   PS:Swift 的nil和Objective

搬砖路上的琐碎记录 654

Swift语法精炼(1)-基础数据类型,元组,可选类型

Swift基础语法精炼(1) 整数:Swift有 8,16,32,64 有符号/无符号 UInt8,UInt16,UInt32,UInt64 和Int8,Int16,Int32,Int64 Swift提供两种自适应平台类型UInt 和 Int 浮点数:64Double 和 32Float 在Swift中,可以不用显示的指定数据类型Swift自行推测数据类型 数值型类型转换 let iHeight

piquelyz的拾趣 342

窥探Swift之新添数据类型元组与可选

今天的博客中就总结一下关于Swift中相对Objc新添加的两个数据类型:元组(Tuple)和可选类型(Optional)。上面这两个类型Swift独有的类型,使用起来也是非常方便的,今天就通过一些示例来介绍一下如何初始化和使用元组和可选类型以及使用元组和可选类型的场景。废话少说,直奔主题,在今天的示例代码中仍然是使用Playground来测试的。左边是代码,右边是Playground中的结

79

Swift 数据类型可选类型(Optional)详解

Optional干货

小曾同学的博客 885

Swift —几个特殊运算符

•      引用号(.):实例调用属性、方法等操作符。 •      问号(?):用来声明可选类型。 •      感叹号(!):对可选类型值进行强制拆封。 •      箭头(->):说明函数或方法返回值类型

博客 467

swift 中的问号跟感叹号

?: 变量在使用过程中可能存在空值,则需要用?标记,否则赋空值会报错 ? 1 2 var mustNoNilValue: String = "Swift" var canNilValue: String? = nil !: 感叹号和问号是配套使用的,用问号标记的变量,在调用方法...

day81219的博客 234

swift 叹号和问号的使用,以及双问号

一、问号的简单使用: 1、定义属性:private var array : Array&lt;Any&gt;?; 使用时,一般是先赋值:array?.append("obj"),在取值 let tempArray = array; 输出打印:print(array ?? Array()); 作为参数传递:self.demo_paramWithArray(array: self.array ...

芷江的博客 1238

Swift语言中的感叹号是什么意思?

The Swift Programming Language guide has the following example: Swift编程语言指南有以下示例: class Person {

w36680130的博客 925

Swift入门到实战课程[iOS开发]

【课程概括】包含常量与变量、基本数据类型,以及Swift语言中的新数据类型:元组型和可选型的内容。同时还讲解了运算符和表达式、流程控制语句、字符和字符串、集合类型、函数和闭包。此外,Swift语言各版本的新特性,以及面向对象的枚举、结构体、类,以及内存管理、协议、错误处理、链式编程、面向协议编程、响应式编程(贪吃蛇游戏)、iOS开发中的常见概念等内容也有所涉及!在第八章我们使用Swift语言实现了栈、队列、二叉树等数据结构,还实现了常见的8种排序算法,以及常见的6种软件设计模式。最后一章是一套完整的商业案例,包含了证书的创建、项目的架构、开发、打包、上传和发布一整套流程,供您学以致用! 【课程特点】1、228节大容量课程:包含了Swift语言大部分知识点;2、创新的教学模式:手把手教您基于Swift语言的iOS开发技术,一看就懂,一学就会;3、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 

上一篇: Swift基础 String类型
下一篇: Swift基础 元组数据类型
乐事派
博客等级 码龄14年 32粉丝 · 138原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值