Swift中的变量与常量
在Swift里面,声明变量用关健字var,声明常量用关健字let。虽然仅仅是声明变量这样的简单功能,但是还是有需要注意的地方。
变量和常量使用之前必须有一次赋值
var a: Int
let b: Int
var c = a + b //这里报错
Swift里面使用变量之前,是必须要要给变量赋值的。赋值的操作可以在声明得时候,也可以在其他地方,但是一定要有赋值操作,否则就会报错。
声明时如果不进行赋值,那么久必须带有类型
var a //报错
let b //报错
var c: Int //正确
var d: Int //正确
常量的意义
Swift里面常量得意义,是既不可以改变本身的值,也不能改变变量引用的值,比如:
let a = [4, 5, 6]
a = [7, 8, 9] //报错
a.append(10) //报错
变量和常量只能声明一次
变量和常量只能声明一次,既不能把一个变量同时声明为常量,也不可以将一个常量同时声明为变量
var a: Int
var a: Int //报错
var a: String //报错
let a: Int //报错
let a: String //报错
从上面代码可以看到,名字相同,类型不同的重复声明也是不可以的。
变量或者常量名字的要求
Swift里面变量和常量名字的要求比较宽松,几乎可以包含任何字符,但是不能包含以下字符:
1 空格
2 数学符号
3 剪头
4 私有Unicode标量值(private-use Unicode scalar values)
5 line- and box-drawing characters
同时还加一条,数字不能作为命名的第一个字符,但是可以出现在名字其他位置:
let π = 3.14159 //合法
let 你好 = "你好世界" //合法
let = "dogcow" //合法
let + = 2 //报错
关键字作为变量名字
Swift的关键字可以作为变量名字,要求就是用`将关键字包围就好:
let `for` = 2
Swift中的变量与常量的更多相关文章
- PHP中的变量与常量详解
几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
- TensorFlow中的变量和常量
1.TensorFlow中的变量和常量介绍 TensorFlow中的变量: import tensorflow as tf state = tf.Variable(0,name='counter') ...
- PHP中的 变量 与 常量 详解
几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...
- Python中的变量和常量
本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 -------------- 完美的分割线 --------------- 1.变量 1.1.变量理解 1)什么是变量 变量即 ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- 【Java学习笔记之三】java中的变量和常量
变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据 ...
- JS中的变量与常量
变量 1.创建变量 1.先声明,后赋值 使用var关键字进行变量的声明 使用=进行变量的赋值 自定义变量名 2.声明的同时赋值 var age = 20: 2.命名规范 1.由数字,字母,下划线和$组 ...
- Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数
Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...
- PHP接口中的静态变量、常量与类中静态变量、常量的区别
接口: 1 不能够定义静态变量(常量除外) 2 定义的常量 const YOUCONST = VALUE,不能在子类中覆盖,在子类中以 interfaceName::YOUCONST的方式调用 3 不 ...
随机推荐
- KingbaseES索引坏块
错误信息产生: 下面的报错一般为有坏块的产生. test=# select max(create_time) from public.tbl_table where create_time>=' ...
- QT 自定义插件问题 error: LNK2001: 无法解析的外部符号
为了重复利用已有的代码,我使用自定义插件进行开发.当每个插件独立开发时没有遇到问题,但是当插件B引用了插件A时就会在编译时报错 error: LNK2001: 无法解析的外部符号. 例如,先定义一个插 ...
- 【已解决】idea编译器插入数据到数据库乱码以及jsp页面乱码的解决方法
1.jsp页面需要设置编码格式为utf-8 1 <%@ page contentType="text/html;charset=UTF-8" language="j ...
- IPv4地址的结构体与网络字节序
IPv4地址的结构体 /* Fixed-size types, underlying types depend on word size and compiler. */ typedef signed ...
- 线上问题分析之java dump文件生成
一.查看java进程 jps or ps aux | grep java 二.生成dump文件 jmap -dump:live,format=b,file=xxxx.bin 进程ID 三.查看dump ...
- list集合中的实现类ArrayList
如上图所示,list集合是 Collection 接口的子接口,它是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0).且可重复的集合,他有三个实现类,如下: ArrayList add方 ...
- LiteOS-A内核中的procfs文件系统分析
一. procfs介绍 procfs是类UNIX操作系统中进程文件系统(process file system)的缩写,主要用于通过内核访问进程信息和系统信息,以及可以修改内核参数改变系统行为.需要注 ...
- Python 数组和列表:创建、访问、添加和删除数组元素
Python 没有内置支持数组,但可以使用 Python 列表来代替. 数组 本页将向您展示如何使用列表作为数组,但要在 Python 中使用数组,您需要导入一个库,比如 NumPy 库.数组用于在一 ...
- C# DevExpress下GridControl控件的增删查改
DevExpress的GridControl控件可以从任何数据源绑定数据并进行增删查改等操作,和VS自带的dataGridView控件对比,GridControl控件可以实现更多自定义的功能,界面UI ...
- 鸿蒙HarmonyOS实战-ArkUI组件(CustomDialog)
一.CustomDialog CustomDialog组件是一种自定义对话框,可以通过开发人员根据特定的要求定制内容和布局.它允许开发人员创建一个完全可定制的对话框,可以显示任何类型的内容,例如文本. ...