美文网首页
一.基本类型/The Basics

一.基本类型/The Basics

作者: kodbin | 来源:发表于2017-08-22 20:08 被阅读4次

    前言:

    前段时间大概看了Python的教程,给我最深的感触,还是另外一门语言给你带来的对一门语言设计模式的思考,那些平时习惯敲出来的语句,都有其设计的巧妙,这样对语言的认识,有一些更深入的理解

    所以是时候来看看swift了,跟着官网上的教程,一步一步看

    1.声明常量与变量

    常量与变量

    现在跟之前在定义常量变量有很大区别,之前是什么类型就用什么类型来修饰,现在只分常量变量,常量用let  变量用var,具体的类型根据赋值来自动判断

    教程中解释:不变的值,需要用let来修饰,比如最大登录数是不变的,而当前登录数是可变的,用var

    补充一点:关于标点符号的,之前语句结束后需要用分号结束,现在不需要了,定义多个值可以这样:

    定义多个变量

    2.注释(类型)

    定义一个常量或变量两种方式,一种是直接指定初始值,系统回去推算类型,一种就是如下,没有给初始值,那就需要指定类型:

    类型注释

    定义多个注释的时候

    多个类型注释

    3.打印print

    打印不再使用nslog,用print,格式如下:

    打印

    基本格式就是,\(...)去转义,包括int等类型,不需要再去记转义字符%@/%ld/%f等

    4.注释

    一般使用 // 及 /* ... */与之前没什么不同,特别注意是,现在的多行注释可以嵌套注释,就是多行注释中可以有已经存在的多行注释:

    多行注释嵌套

    5.整型,有8 ,16 ,32 ,64位等

    整型8位等最大最小值

    一般情况下,不需要去指定int的大小,另:Uint用于无符号整数类型

    整型位数

    6.float浮点数,double是首选

    浮点数

    7.运算转换

    浮点与整数变量的运算,在加double();之前是(double)

    运算

    8.别名

    typealias:可以给现有类型取别名

    别名

    9.布尔值Bool

    布尔值

    布尔值只有两个值,一个true 一个false,这跟oc有不同的地方

    10.元组

    元组有多个值组成的一个"复合值",里面的元素可以是任何类型,用小括号括起来,可以用下标访问,如果取了名字也可以用名字访问,代码如下:

    元组定义 取值

    其他用法:

    元素使用

    11.可选类型

    可选类型,是接收的数据有可能为空,在swift中,数据定义是就必须确定是否为空,空的话,需用可选类型表示(?),如下:

    int()转出来的值有可能为空,多以convertedNumber,需定义为可选类型

    注意:

    Swift 的 nil与Objective-C不一样。在Objective-C中,nil是一个指向不存在对象的指针。在Swift中,nil不是一个指针 - 它是没有某种类型的值。任何类型的可选项都可以设置为nil,而不仅仅是对象类型。

    定义一个变量,如果,它有可能为空的话,就需要定义成可选类型

    可以给定初始值 也可以不给定初始值,默认为nil

    11.1可选类型的强制展开

    一旦您确定可选项确实包含值,您可以通过!在可选名称的末尾添加感叹号()来访问其基础值。感叹号有效地说:“我知道这个选择肯定有价值;请使用它。“这被称为强制展开可选的值:

    强制展开

    11.2可选绑定

    解释:当Int(possibleNumber)不为nil时,让actualNumber接收值,并且actualNumber是个局部变量,只作用于第一个大括号中

    if后面也可以有多个判断赋值,用逗号(,)隔开

    可选类型

    11.3隐式解析可选类型

    参考这里

    隐式解析可选类型,介于可选类型与不可选类型之间,他属于可选类型,因为,它可以为nil,但是他可以赋值给不可选类型,而不用加"!",或者可选绑定等

    相当于说,没错!我是可选类型,但是不用每次都给我加感叹号

    隐式可选类型

    12.错误处理

    错误捕捉

    13.断言

    断言

    相关文章

      网友评论

          本文标题:一.基本类型/The Basics

          本文链接:https://www.haomeiwen.com/subject/omikdxtx.html