版权声明:本文为博主原创文章,转载请注明,谢谢! https://blog.csdn.net/qq_33646395/article/details/78709735
Swift 继OC(objective-c) 后一门开发iOS 应用的语言,学习随笔one:
关键字
Swift 的关键字大致可分以下4类,开发定义标识符时请尽量避开,一定要用就` class` 这样
:
1.声明相关的关键字:class 、deinit、enum、extension、func、import、init、internal、let、operator、private、protocol、public、static、struct、subscript、typealias、var.
2.语句相关的关键字:break、case、continue、default、do、else、fallthrought、for、if、return、switch、where、while.
3.类型、表达式相关的关键字:as、dynamicType、false、is、nil、self、Self、super、ture、_COLUMN_、_FILE_、_FUNCTION_、_LINE_.
4.特定上下文相关的关键字:associativity、convenience、dynamic、didSet、final、get、infix、inout、lazy、left、mutating、none、nonmoutating、optional、override、postfix、precedence、perfix、Protocl、required、right、set、Type、unowned、weak、willSet.
声明变量和常量
Swift 要求所有的变量和常量必须先声明后使用,声明变量时必须显示或隐式指定变量的类型,类型限制了一个变量能被赋的值,也限制了一个表达式能产生的值,还限制了在这些值上能做的操作,并确定了这些操作的含义:
var 变量名:[类型] [=初始值]
在上面这个声明变量语法格式中,要么通过“:[类型]”的形式指定变量的类型,要么为改变了赋予初始值——swift 编译器将会根据初始值确定改变量的类型,不能声明变量时既不指定类型,也不赋予指定的初始值。声明变量时既可以指定类型,也可以该变量的初始值,但显示的变量初始值必须要与指定类型保持一致。
e.g:
//声明变量时指定类型
var b :Int
// 声明变量时指定初始值,编译器会根据指定的初始值确定该变量为String 型
var name = "wsq"
//声明成功
b = 20
//声明失败
name = 20
//声明类型和初始化类型不一致,会导致声明出错
var age : Int = "20"
//同时声明多个变量,不需要变量的类型相同
var a = 20 , d : String , c = "string"
swift 中常量的声明用let,用法和变量var 一样,最大却别在于,let 声明的常量不可更改值;
Int: 未专门指定整型的长度,灵活自对应;
Int8 :整型数在内存里通常占8位,表数的范围是:-128(-2^7)~ 127 (-2^7 - 1)
Int16 :整型数在内存里通常占16位,表数的范围是:-36728(-2^15)~ 32767 (-2^15 - 1)
Int32 :整型数在内存里通常占32位,表数的范围是:-2147483648(-2^31)~2147483647 (-2^31 - 1)
Int64 :整型数在内存里通常占32位,表数的范围是:(-2^63)~ (
2^63 - 1)
swift 的整数数值4种表达方式:
十进制:最普通的整数就是十进制数;
二进制:以0b开头的整数就是二进制数;
八进制:以0o开头的整数就是八进制数;
十六进制:0x开头的整数就是十六进制数,其中10~15 分别以a~f表示,不区分大小写
e.g
var i = 1
if i {
// 这里会编译报错
}
var i = 1
if i == 1{
// 这里会编译不会报错, 通过编译
}
第一个if中期待的是一个Bool类型的值,但i是Int 型的,所有会报错,无法通过编译,而第二个if中 i== 1比较的结果就是个Bool型的,所以能通过编译。