• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[学习笔记]菜鸟教程Swift知识点总结(一)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

基本语法

  1. Swift 的多行注释可以嵌套在其他多行注释内部。写法是在一个多行注释块内插入另一个多行注释。第二个注释块封闭时,后面仍然接着第一个注释块
	/* 这是第一个多行注释的开头
	/* 这是嵌套的第二个多行注释 */
	这是第一个多行注释的结尾 */ 
  1. Swift不要求在每行语句的结尾使用分号( ; ),但当在同一行书写多条语句时,必须用分号隔开
	var myString = "Hello, World!"; print(myString)
  1. Swift语言中标识符的命名规则如下:
  • 区分大小写,Myname与myname是两个不同的标识符
  • 标识符首字符可以以下划线(_)或者字母开始,但不能是数字
  • 标识符中其他字符可以是下划线(_)、字母或数字

注意:Swift中的字母采用的是Unicode编码[1]。Unicode叫做统一编码制,它包含了亚洲文字编码,如中文、日文、韩文等字符,甚至是我们在聊天工具中使用的表情符号

  1. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符。
	let `class` = "Runoob"
  1. Swift语言并不是像C/C++,Java那样完全忽视空格,Swift对空格的使用有一定的要求,但是又不像Python对缩进的要求那么严格。
    在Swift中,运算符不能直接跟在变量或常量的后面。

数据类型

  1. Int
    Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同:
    在32位平台上,Int和Int32长度相同。
    在64位平台上,Int和Int64长度相同。

  2. UInt
    Swift 也提供了一个特殊的无符号类型UInt,长度与当前平台的原生字长相同:
    在32位平台上,UInt和UInt32长度相同。
    在64位平台上,UInt和UInt64长度相同。

  3. 浮点数:Float、Double
    Double 表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。
    Float 表示32位浮点数。精度要求不高的话可以使用此类型。

    注意:
    Double精确度很高,至少有15位数字,而 Float 最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。

  4. 可选类型:Optional
    使用可选类型来处理值可能缺失的情况。可选类型表示有值或没有值。

  5. 数值范围

类型 大小(字节) 区间值
Int8 1 字节 -128 到 127
UInt8 1 字节 0 到 255
Int32 4 字节 -2147483648 到 2147483647
UInt32 4 字节 0 到 4294967295
Int64 8 字节 -9223372036854775808 到 9223372036854775807
UInt64 8 字节 0 到 18446744073709551615
Float 4 字节 1.2E-38 到 3.4E+38 (~6 digits)
Double 8 字节 2.3E-308 到 1.7E+308 (~15 digits)
  1. 类型别名
    类型别名对当前的类型定义了另一个名字,类型别名通过使用 typealias 关键字来定义:typealias newname = type

变量、常量

  1. var 关键字声明变量var variableName = <initial value>
  2. let 关键字声明常量let constantName = <initial value>
  3. 明常量或者变量的时候可以加上类型标注(type annotation),说明常量或者变量中要存储的值的类型。添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。var constantName:<data type> = <optional initial value>

可选类型

  1. Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x “或者"那儿没有值”。

  2. Swfit语言定义后缀?作为命名类型Optional的简写,以下两种声明是相等的:

        var optionalInteger: Int?
        var optionalInteger: Optional<Int>
    

    在这两种情况下,变量 optionalInteger 都是可选整数类型。

    注意,在类型和 ?之间没有空格。

    Optional 是一个含有两种情况的枚举,None 和 Some(T),用来表示可能有或可能没有值。任何类型都可以明确声明为(或者隐式转换)可选类型。当声明一个可选类型的时候,要确保用括号给 ? 操作符一个合适的范围。
    当你声明一个可选变量或者可选属性的时候没有提供初始值,它的值会默认为 nil。

  3. 强制解析
    当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。 这被称为可选值的强制解析(forced unwrapping)。

           var myString:String?
      		myString = "Hello, Swift!"	
      		if myString != nil {
      		   // 强制解析
      		   print( myString! )
      		}else{
      		   print("myString 值为 nil")
      		}
    

    注意:使用!来获取一个不存在的可选值会导致运行时错误。使用!来强制解析值之前,一定要确定可选包含一个非nil的值。

  4. 自动解析
    在声明可选变量时使用感叹号(!)替换问号(?)。这样可选变量在使用时就不需要再加一个感叹号(!)来获取值,它会自动解析。

  5. 可选绑定
    使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量。

    if let constantName = someOptional {
        statements
    }	
    
    	var myString:String?
    	myString = "Hello, Swift!"
    	if let yourString = myString {
    	   print("你的字符串值为 - \(yourString)")
    	}else{
    	   print("你的字符串没有值")
    	}	
    

字面量

  1. 整型字面量
    整型字面量可以是一个十进制,二进制,八进制或十六进制常量。 二进制前缀为 0b,八进制前缀为 0o,十六进制前缀为 0x,十进制没有前缀:
    以下为一些整型字面量的实例:

    	let decimalInteger = 17           // 17 - 十进制表示
    	let binaryInteger = 0b10001       // 17 - 二进制表示
    	let octalInteger = 0o21           // 17 - 八进制表示
    	let hexadecimalInteger = 0x11     // 17 - 十六进制表示
    
  2. 浮点型字面量
    浮点型字面量的默认推导类型为 Swift 标准库类型中的 Double,表示64位浮点数。
    浮点型字面量默认用十进制表示(无前缀),也可以用十六进制表示(加前缀 0x)。

    let decimalDouble = 12.1875       //十进制浮点型字面量
    let exponentDouble = 1.21875e1    //十进制浮点型字面量
    let hexadecimalDouble = 0xC.3p0   //十六进制浮点型字面量
    
  3. 字符串型字面量
    字符串型字面量中不能包含未转义的双引号 (")、未转义的反斜线(\)、回车符或换行符。

    转移字符 含义
    \0 空字符
    \\ 反斜线 \
    \b 退格(BS) ,将当前位置移到前一列
    \f 换页(FF),将当前位置移到下页开头
    \n 换行符
    \r 回车符
    \t 水平制表符
    \v 垂直制表符
    \’ 单引号
    \" 双引号
    \000 1到3位八进制数所代表的任意字符
    \xhh… 1到2位十六进制所代表的任意字符

运算符

  1. swift3 中已经取消了++、–。

  2. 区间运算符

    运算符 描述 实例
    区间运算符 闭区间运算符(a…b)定义一个包含从a到b(包括a和b)的所有值的区间,b必须大于等于a。 ‌ 闭区间运算符在迭代一个区间的所有值时是非常有用的,如在for-in循环中: 1…5 区间值为 1, 2, 3, 4 和 5
    开区间运算符 半开区间(a… 1…< 5 区间值为 1, 2, 3, 和 4
  3. 运算符优先级


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap