不论什么一种计算机语言都离不开标识符和keyword,下面我们将具体介绍Swift标识符和keyword。

标示符

标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字。构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则例如以下:

区分大写和小写。Myname与myname是两个不同的标识符;

标识符首字符能够下面划线(_)或者字母開始,但不能是数字;

标识符中其它字符能够是下划线(_)、字母或数字。

比如,identifier、userName、User_Name、_sys_val、身高等为合法的标识符,而2mail、room#和class为非法的标识符。当中,使用中文“身高”命名的变量是合法的。

注意    Swift中的字母採用的是Unicode编码[1]。Unicode叫做统一编码制,它包括了亚洲文字编码。如中文、日文、韩文等字符,甚至是我们在聊天工具中使用的表情符号,如等。这些符号其实也是Unicode,而非图片。这些符号在Swift中都能够使用。

假设一定要使用keyword作为标识符。能够在keyword前后加入重音符号(`),比如:

let π =3.14159

let_Hello = "Hello"

let 您好 = "你好世界"

let `class` = ""

//诺亚方舟

let

当中class是keyword,其实重音符号(`)不是标识符的一部分,它也能够用于其它标识符,如π和`π`是等价的。因此使用keyword作为标识符是一种非常不好的编程习惯。

keyword

keyword是相似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符。keyword是对编译器具有特殊意义的提前定义保留标识符。常见的keyword有下面4种。

与声明有关的keyword:class、deinit、enum、extension、func、import、init、let、protocol、static、struct、subscript、typealias和var。

与语句有关的keyword:break、case、continue、default、do、else、fallthrough、if、in、for、return、switch、where和while。

表达式和类型keyword:as、dynamicType、is、new、super、self、Self、Type、__COLUMN__、__FILE__、__FUNCTION__和__LINE__。

在特定上下文中使用的keyword:associativity、didSet、get、infix、inout、left、mutating、none、nonmutating、operator、override、postfix、precedence、prefix、rightset、unowned、unowned(safe)、unowned(unsafe)、weak和willSet。

对于上述keyword。眼下我们没有必要所有知道它们的含义,可是要记住:在Swift中,keyword是区分大写和小写的,因此class和Class是不同的,当然Class不是Swift的keyword。

很多其它内容请关注国内第一本Swift图书《Swift开发指南》
本书交流讨论站点:http://www.51work6.com/swift.php
欢迎加入Swift技术讨论群:362298485

欢迎关注智捷iOS课堂微信公共平台

Swift标识符和keyword相关推荐

  1. Swift标识符和关键字

    任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字. 标示符 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等指定的名字.构成标识符的字母均有一定的规范, ...

  2. 从0开始学Swift笔记整理(一)

    Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代 ...

  3. python语言入门w-python基础知识(一)

    最近花时间整理了一下以前学过的python基础知识,语言最多的是使用. 1.1 开发模式 交互模式:简单的调试或者测试 开发流程 创建以.py结尾的python文件 在python文件中输入打印&qu ...

  4. 【Python基础】快速入门Python(讲解、习题)

    0.导语 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...

  5. AI 基础:Python 简易入门

    0.导语 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...

  6. JavaScript解析顺序和变量作用域

    JavaScript基础之变量作用域. 一. 1.全局变量:全局变量的意思就是,在代码的不论什么地方都能够訪问到.注意:未定义 直接赋值的变量拥有全局属性. 2.局部变量:局部变量的意思就是,变量的作 ...

  7. python整数类型在每一台计算机上的取值范围是一样的_人工智能第一章:Python语言基础...

    1 Python简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的 ...

  8. C++:编译实验之递归下降分析器

    一.实验目的 1.加深对递归下降分析法一种自顶向下的语法分析方法的理解. 2.根据文法的产生式规则消除左递归,提取公共左因子构造出相应的递归下降分析器. 二.实验内容 根据课堂讲授的形式化算法,编制程 ...

  9. C语言速看,C语言高速入门系列(二)

    C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...

最新文章

  1. JS判断浏览器类型的方法【转】
  2. 2 时间格式化_U盘无法格式化怎么办 U盘无法格式化解决教程【详解】
  3. Vue实现仿音乐播放器5-实现今日推荐访问百度音乐API获取数据
  4. 基于空间相关的图像模板匹配及MATLAB实现
  5. C# 动态加载 动态卸载
  6. 漫步线性代数十五——余弦和投影
  7. Kafka单机安装Version1.0.1(自带Zookeeper)
  8. vivo 5G手机日产量10万台 3月销量同比增长超10%
  9. datatables data bind json
  10. ActiveMQ笔记(二)
  11. UG NX 12 同步建模:删除面
  12. 皮尔逊相关系数的5个假设
  13. 卡方检验c语言算法,R语言 | 卡方检验(Chi-squaretest)
  14. LeetCode 300. Longest Increasing Subsequence
  15. 勒索病毒的发展史及解密办法
  16. VScode 设置 背景图片
  17. 软件发布各版本代号含义
  18. Linux常用命令--压缩解压命令
  19. SQL语言(一)数据查询
  20. ESC32硬件---电路分析二(电流检测和反电动势检测)

热门文章

  1. 华中科技大学计算机上机,华中科技大学计算机学院上机复试题目.doc
  2. oracle执行长任务,oracle 里面定时执行任务设置
  3. php 字符串 中文,PHP的中文字符串截取
  4. java风控系统规则引擎_如何设计一套规则引擎系统
  5. 时间立即同步命令_Redis复制:主从同步
  6. 计算机模拟热处理,计算机模拟在热处理中的应用
  7. 西南科技大学 计算机组成原理2011-2012,西南科技大学计算机组成原理2010-2011试卷A卷参考答案(2011)...
  8. cmd html 查找汉子字,字符串查找 cmd find命令
  9. 遇见BUG(3)critical warning也要关注!
  10. 巴克码相关器的verilog HDL设计