Swift标识符和keyword
不论什么一种计算机语言都离不开标识符和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。
欢迎关注智捷iOS课堂微信公共平台
Swift标识符和keyword相关推荐
- Swift标识符和关键字
任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字. 标示符 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等指定的名字.构成标识符的字母均有一定的规范, ...
- 从0开始学Swift笔记整理(一)
Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代 ...
- python语言入门w-python基础知识(一)
最近花时间整理了一下以前学过的python基础知识,语言最多的是使用. 1.1 开发模式 交互模式:简单的调试或者测试 开发流程 创建以.py结尾的python文件 在python文件中输入打印&qu ...
- 【Python基础】快速入门Python(讲解、习题)
0.导语 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...
- AI 基础:Python 简易入门
0.导语 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...
- JavaScript解析顺序和变量作用域
JavaScript基础之变量作用域. 一. 1.全局变量:全局变量的意思就是,在代码的不论什么地方都能够訪问到.注意:未定义 直接赋值的变量拥有全局属性. 2.局部变量:局部变量的意思就是,变量的作 ...
- python整数类型在每一台计算机上的取值范围是一样的_人工智能第一章:Python语言基础...
1 Python简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的 ...
- C++:编译实验之递归下降分析器
一.实验目的 1.加深对递归下降分析法一种自顶向下的语法分析方法的理解. 2.根据文法的产生式规则消除左递归,提取公共左因子构造出相应的递归下降分析器. 二.实验内容 根据课堂讲授的形式化算法,编制程 ...
- C语言速看,C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
最新文章
- JS判断浏览器类型的方法【转】
- 2 时间格式化_U盘无法格式化怎么办 U盘无法格式化解决教程【详解】
- Vue实现仿音乐播放器5-实现今日推荐访问百度音乐API获取数据
- 基于空间相关的图像模板匹配及MATLAB实现
- C# 动态加载 动态卸载
- 漫步线性代数十五——余弦和投影
- Kafka单机安装Version1.0.1(自带Zookeeper)
- vivo 5G手机日产量10万台 3月销量同比增长超10%
- datatables data bind json
- ActiveMQ笔记(二)
- UG NX 12 同步建模:删除面
- 皮尔逊相关系数的5个假设
- 卡方检验c语言算法,R语言 | 卡方检验(Chi-squaretest)
- LeetCode 300. Longest Increasing Subsequence
- 勒索病毒的发展史及解密办法
- VScode 设置 背景图片
- 软件发布各版本代号含义
- Linux常用命令--压缩解压命令
- SQL语言(一)数据查询
- ESC32硬件---电路分析二(电流检测和反电动势检测)
热门文章
- 华中科技大学计算机上机,华中科技大学计算机学院上机复试题目.doc
- oracle执行长任务,oracle 里面定时执行任务设置
- php 字符串 中文,PHP的中文字符串截取
- java风控系统规则引擎_如何设计一套规则引擎系统
- 时间立即同步命令_Redis复制:主从同步
- 计算机模拟热处理,计算机模拟在热处理中的应用
- 西南科技大学 计算机组成原理2011-2012,西南科技大学计算机组成原理2010-2011试卷A卷参考答案(2011)...
- cmd html 查找汉子字,字符串查找 cmd find命令
- 遇见BUG(3)critical warning也要关注!
- 巴克码相关器的verilog HDL设计