余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

与众不同的swift学习笔记(与众不同的近义词)

xiyangw 2022-12-03 12:05 19 浏览 0 评论

文章只是根据自身情况,记录swift语言和其他语言的区别,请勿对号入座,请根据自身情况选择性学习:

与众不同的swift学习笔记(与众不同的近义词)

一、类型注解

注意:类型注解作为一个需要了解的知识点,不做深入研究,因为在项目实操中很少需要写类型注解;理由是:Swift 可以推断出常量或者变量的类型

当你声明常量或者变量的时候可以加上类型注解(type annotation),说明常量或者变量中要存储的值的类型。如果要添加类型注解,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。

var x:String

声明中的冒号代表着“是...类型”,所以这行代码可以被理解为:

“声明一个类型为 String ,名字为 x 的变量。”

“类型为 String ”的意思是“可以存储任意 String 类型的值。”

x 变量现在可以被设置成任意字符串:

x = "高效码农"
print(x)

完整代码:

var x:String
x = "高效码农"
print(x)

你可以在一行中定义多个同样类型的变量,用逗号分割,并在最后一个变量名之后添加类型注解:

var red, green, blue: Double

二、整数

Swift提供的整数类型有:Int、Int8、Int16、Int32、Int64、UInt、UInt8、UInt16、UInt32、UInt64

带U的为无符号整数;

除非你需要特定长度的整数,一般来说使用 Int 就够了。这可以提高代码一致性和可复用性。即使是在32位平台上,Int 可以存储的整数范围也可以达到 -2,147,483,648 ~ 2,147,483,647,大多数时候这已经足够大了。

三、类型别名

类型别名(type aliases)就是给现有类型定义另一个名字。你可以使用 typealias 关键字来定义类型别名。

typealias exmple = UInt32
var typeExmple = exmple.max

本例中,exmple 被定义为 UInt32 的一个别名。因为它是别名,exmple.min 实际上是 UInt32.max

,所以会给 typeExmple 赋一个初值 4294967295。

项目实操中没有用到过这个特性,在其他语言实战中也没有遇到有类似需求的场景,不知道干啥用的;

四、可选类型

声明一个可选常量或者变量

var surveyAnswer: String?
print(surveyAnswer)
// surveyAnswer 被自动设置为 nil

Swift 的 nil 和 Objective-C 中的 nil 并不一样。在 Objective-C 中,nil 是一个指向不存在对象的指针。在 Swift 中,nil 不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选状态都可以被设置为 nil,不只是对象类型。

五、可选绑定

在Swift中,返回值或者数据类型后面加 ?表示可选类型,值可以为空,但是后面加 !的话,表示告诉编译器,这个是一定有值的,相当于强制解析,如果没有值的话,就会崩。这是前提。实际应用举例如下:

let url = URL.init(string: "https://www.xugj520.cn")
//正常写惯了OC的话,为了保证程序的稳定性,强制解析前一定会加判断,通常会这么写
if url != nil {
    let request = URLRequest(url: url!)
}
//但是在工程中会有很多很多的可选类型,如果每个都这么写的话,看起来肯定不太优雅,所以Swift推出了一个可选绑定的写法
if let url = url {
    let request = URLRequest(url: url)

相关推荐

JavaScript基础知识(一)JS入门(javascript单独写在js文件中)

一、JS入门(一)产生JavaScript是布兰登·艾奇(BrendanEich,1961年~),在1995年利用十天完成JavaScript设计。网景公司最初命名为LiveScript,后来在与Su...

javascript基础入门(java语言自学)

第1天,学习的是js最基本的东西(包括js的组成、数据类型、数据类型转换、NaN和isNaN、隐式类型转换、加减乘除以及取余、变量作用域、闭包简单的概念、命名规范、运算符和逻辑运算符、程序流程控制:...

怎样扎实自己的 JavaScript 基础?(javascript 菜鸟教程)
怎样扎实自己的 JavaScript 基础?(javascript 菜鸟教程)

学习js首先得了解js,他属于一种胶水语言,是依赖于某个宿主环境下的,比如各种浏览器,比如nodejs的v8,js能做什么不能做什么都很依赖于他的宿主给他的ap...

2023-03-21 18:27 xiyangw

JavaScript基础教程新手入门必看(javascript零基础入门书籍)

对前端稍微有点了解的初学者都知道,JavaScript是必不可少的工具。毫不夸张的说,大部分网页都使用了JavaScript,想要成为一个优秀的前端工程师,做出漂亮令用户满意的网页,熟练掌握JavaS...

初学JavaScript基础知识 掌握JavaScript的组成以及基本语法
初学JavaScript基础知识 掌握JavaScript的组成以及基本语法

为什么学JavaScript?javaScript在网页制作中占有非常重要地位,可以实现验证表单、制作特效等功能,总结起来,学习javascript的目的主要...

2023-03-21 18:26 xiyangw

介绍一下简单易学的编程语言JavaScript(编程 js)
介绍一下简单易学的编程语言JavaScript(编程 js)

#大有学问#JavaScript是一种广泛使用的编程语言,它通常用于在网页中添加交互性和动态内容。JavaScript由Netscape公司在1995年开发,最...

2023-03-21 18:26 xiyangw

前端入门——JavaScript 操作符(前端常用js)

所谓操作符,就是用来操作数据值的符号,在JavaScript中包括算术操作符、位操作符、关系操作符和相等操作符。这些操作符可以操作所有类型的数据,比如字符串、数字、布尔值,甚至对象。一元操作符所谓一元...

带你入门JS的世界,首先需要建立正确的心智模型(一)
带你入门JS的世界,首先需要建立正确的心智模型(一)

转载说明:原创不易,未经授权,谢绝任何形式的转载开篇当我们编写代码时,我们倾向于使用“快速思考系统”,这是一种基于模式匹配和直觉的思考方式。然而,这种思考方式往...

2023-03-21 18:26 xiyangw

10分钟入门javascript函数式编程(什么是函数式编程)

1.函数式编程1.什么是函数式编程函数式编程是?种编程范式,强调使?函数来组合和处理数据。将运算过程抽象成成函数,可以复?。常?的编程范式有:?向过程编程(ProceduralProgrammin...

JavaScript 初学者手册(javascript零基础入门)
JavaScript 初学者手册(javascript零基础入门)

JavaScript是世界上最流行的编程语言之一。我相信这是您第一个绝佳选择的编程语言。我们主要使用JavaScript来创建:网站网络应用使用Node.j...

2023-03-21 18:25 xiyangw

JavaScript零基础入门—JavaScript的BOM(javascript基础入门教程)
JavaScript零基础入门—JavaScript的BOM(javascript基础入门教程)

其实,我们日常开发中,如果不是做前端架构,一般情况下,对BOM的操作其实并不会太多,当然,H5的话也可以借助BOM来定位和判断网络,这个以后再说。对于BOM的操...

2023-03-21 18:25 xiyangw

前端入门——JavaScript 函数(前端function函数的用法)

函数概念说到函数我们首先会想到数学中的函数公式,但是在编程中函数的概念和你想象中的可能有所不同。所谓函数就是一段可以被其它程序引用的代码或程序,可以叫它子程序。函数的作用就是将一个大的系统程序按功能分...

「JavaScript 教程」入门篇-导论(javascript技术教程)

1、什么是JavaScript语言?JavaScript是一种轻量级的脚本语言。所谓“脚本语言”(scriptlanguage),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应...

如何快速掌握Javascript入门小知识(造价入门需掌握的知识)

如果你想要学一门语言,那就应该选择Javascript,为什么会这么说呢?因为当前推出的许多新技术都支持这个观点,Javascript作为一种直译式脚本语言,早是在HTML网页上使用,用来给HTML网...

「JavaScript 教程」入门篇-JavaScript 的基本语法

1、语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。...

取消回复欢迎 发表评论: