在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中的变量与常量的更多相关文章

  1. PHP中的变量与常量详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

  2. 李洪强iOS开发Swift篇—02_变量和常量

    李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...

  3. TensorFlow中的变量和常量

    1.TensorFlow中的变量和常量介绍 TensorFlow中的变量: import tensorflow as tf state = tf.Variable(0,name='counter') ...

  4. PHP中的 变量 与 常量 详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

  5. Python中的变量和常量

    本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 -------------- 完美的分割线 --------------- 1.变量 1.1.变量理解 1)什么是变量 变量即 ...

  6. Swift学习笔记--变量与常量

    1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...

  7. 【Java学习笔记之三】java中的变量和常量

    变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据 ...

  8. JS中的变量与常量

    变量 1.创建变量 1.先声明,后赋值 使用var关键字进行变量的声明 使用=进行变量的赋值 自定义变量名 2.声明的同时赋值 var age = 20: 2.命名规范 1.由数字,字母,下划线和$组 ...

  9. Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数

    Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...

  10. PHP接口中的静态变量、常量与类中静态变量、常量的区别

    接口: 1 不能够定义静态变量(常量除外) 2 定义的常量 const YOUCONST = VALUE,不能在子类中覆盖,在子类中以 interfaceName::YOUCONST的方式调用 3 不 ...

随机推荐

  1. markdown 常用表情符号 (github emoji)

    markdown 常用表情(emoji) 官网[非笔者维护,仅做引用] Face Smiling 咧嘴笑 grinning 汗颜笑 sweat_smile 爆笑 rofl 眨眼笑 wink innoc ...

  2. python 处理国家标准行业编码(编码·门类·大类·中类·小类)

    进度 今天完整地进行了行业维度的清洗分析,把行业代码根据国家标准清洗出格式为  "编码·门类·大类·中类·小类"  的数据格式 过程 1.先把国家标准编码转化为json数据 2.根 ...

  3. C++设计模式 - 工厂方法(Factory Method)

    对象创建模式 通过"对象创建"模式绕开new ,来避免对象创建( new )过程中所导致的紧耦合(依赖具体类) , 从而支持对象创建的稳定.它是接口抽象之后的第一步工作. 典型模式 ...

  4. #树状数组,dp#SGU 521 North-East

    题目 在平面上有 \(n\) 个点,现在有一个人要从某个点出发, 每次只能到达横纵坐标都超过原坐标的点,也就是 \(x_j<x_i,y_j<y_i\) 如果他要经过最多的点,那么哪些点是可 ...

  5. Jetty的ssl模块

    启用ssl模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=ssl 命令的输出,如下: INFO : ssl initialized i ...

  6. Windows开发的瑞士军刀,NewSPYLite发布

    宗旨:延续了SpyLite的方便易用,同时也丰富了更多的功能,更适合开发者使用. 在SpyLite的基础功能上,开发了更多人性化并且好用的功能,增强的信息的可读性,以及软件总体的可用性. New Sp ...

  7. C# 面向对象编程进阶:构造函数详解与访问修饰符应用

    C# 构造函数 构造函数是一种特殊的方法,用于初始化对象.构造函数的优势在于,在创建类的对象时调用它.它可以用于为字段设置初始值: 示例 获取您自己的 C# 服务器 创建一个构造函数: // 创建一个 ...

  8. 我只用了3步,实现了一个逼真的3D场景渲染

    给3D模型及环境场景渲染出兼具质感和真实感的材质效果,需要经历几步? 显然,目前的3D模型材质渲染技术,还无法实现简单几步就能搞定的标准化作业来量化,完成一个质量过关的3D模型渲染,一般需要: 1.准 ...

  9. 第十三篇:HTML和CSS入门

    一.HTML本质以及在WEB程序中的作用 1.一套规则,浏览器认识的规则. 2.开发者: 学习html规则 开发后台程序 - 写html文件(充当模板的作用) - 数据库获取数据,然后替换到html文 ...

  10. 使用Oracle SQL Developer工具完成Mariadb数据库迁移到Oracle数据库

    Oracle SQL Developer 是一个免费的集成开发环境,简化了传统部署和云部署中 Oracle 数据库的开发和管理.SQL Developer 提供完整的端到端的 PL/SQL 应用开发, ...