标识符和关键字
常量和变量
注释
表达式
标识符和关键字
标识符就是常量、变量、方法、函数、枚举、结构体、类、协议等由开发人员指定的名字。
一、标识符的命名规则
- 区分大小写,Myname与myname是两个不同的标识符
- 首字符,可以是下划线(_)或者字母,但不能是数字
- 其他字符,可以是下划线(_)、 字母或数字
字母:采用的是Unicode编码。Unicode叫做统一编码,它包含了亚洲文字编码,中文、日文、韩文等字符,甚至是我们在聊天工具中使用的表情符号,如😄😢😂等,这些符号事实上也是Unicode,而非图片。
示例:
正确的合法的标识符如:identifier、userName、User_Name、_sys_val、身高
不合法的标识符如:2mail、room# 和class
二、关键字
关键字是类似于标识符的保留字符序列,由语言本身定义好的,不能挪作他用。 如:class、func、 return...
4种类常见的关键字
1、与声明有关的关键字: class,deinit,enum,extension, func, import, init, inout, internal, operator, private, public, let , protocol, static, struct, subscript, typealias, var。
2、与语句有关的关键字: break, case, continue, default, repeat, else, fallthrough, if, in , for, defer, guard, do, return, switch, where, while。
3、表达式和类型关键字: as, catch, dynamicType, false, is, nil, rethrows, super, self, Self, throw, throws, true, try, COLUMN , FILE, FUNCTION 和 LINE。
4、在特定上下文中使用的关键字: associativity, convenience, dynamic, didSet, final, get, infix, lazy, left, none, nonmutating, optional, override, postfix, precedence, prefix, Protocol, required, right, set, Type, unowned, weak和willSet。
常量和变量
let a = "123456" //常量
var a = "测试" //变量
使用var还是let
let和var关键字声明时,原则上优先使用let, 它有很多好处,可以防止程序运行过程中不必要的修改并提高程序的可读性。
特别值得一提的是,引用数据类型声明时经常采用let声明,虽然业从务层面来讲并不需要一个常量, 但是使用let可以防止引用数据类型在程序运行过程中被错误地修改。
解释:
Person类有两个属性和一个构造函数,
实例化一个Person对象得到p1, p1声明为let类型, p1实际上就是一个指针,let代表指针本身不能被修改, 但是指针内容可以被修改。p1.age = 20
即为修改了p1里面的age属性。
如果试图修改指针本身,如p1 = Person(name: "Tom", age: 18)
, 把p1重新赋值,赋给另外一个对象,在这个过程中会发生编译错误,这就说明用let声明的这种引用数据类型,它的引用也就是指针不能被修改,但是引用也就是指针所指的内容可以被修改。
注释
注释分为单行注释和块注释
单行注释
块注释:可以注释多行代码,可以嵌套其他的注释
表达式
表达式有3种形式
1、不指定数据类型
var al = 10
var a2 = 20
var a = a1 > a2 ? "a1" : "a2"
2、指定数据类型
var a1: Int = 10
let a2: Int = 20
var a = a1 > a2 ? "a1" : "a2"
3 、使用分号
var a1: Int = 10; var a2: Int = 20
var a = a1 > a2 ? "a1": "a2"
注意:多条语句写在一行的情况下要使用分号来区分两条语句。