常量和变量把一个名字(比方maximumNumberOfLoginAttempts或者welcomeMessage)和一个指定类型的值(比方数字10或者字符串"Hello")关联起来。

常量的值一旦设定就不能改变。而变量的值能够随意更改。

声明常量和变量

常量和变量必须在使用前声明,用let来声明常量,用var来声明变量。以下的样例展示了怎样用常量和变量来记录用户尝试登录的次数:

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0

这两行代码能够被理解为:

“声明一个名字是maximumNumberOfLoginAttempts的新常量,并给它一个值10。然后,声明一个名字是currentLoginAttempt的变量并将它的值初始化为0.” 

在这个样例中,同意的最大尝试登录次数被声明为一个常量,由于这个值不会改变。当前尝试登录次数被声明为一个变量,由于每次尝试登录失败的时候都须要添加这个值。

你能够在一行中声明多个常量或者多个变量,用逗号隔开: 

var x = 0.0, y = 0.0, z = 0.0

注意: 

假设你的代码中有不须要改变的值。请使用letkeyword将它声明为常量。仅仅将须要改变的值声明为变量。

类型标注

当你声明常量或者变量的时候能够加上类型标注(type annotation),说明常量或者变量中要存储的值的类型。假设要加入类型标注,须要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。

这个样例给welcomeMessage变量加入了类型标注,表示这个变量能够存储String类型的值:

var welcomeMessage: String

声明中的冒号代表着“是...类型”,所以这行代码能够被理解为:

“声明一个类型为String,名字为welcomeMessage的变量。”

“类型为String”的意思是“能够存储随意String类型的值。”

welcomeMessage变量如今能够被设置成随意字符串: 

welcomeMessage = "Hello"

注意:

一般来说你非常少须要写类型标注。假设你在声明常量或者变量的时候赋了一个初始值,Swift能够判断出这个常量或者变量的类型,请參考类型安全和类型判断。

在上面的样例中。没有给welcomeMessage赋初始值,所以变量welcomeMessage的类型是通过一个类型标注指定的。而不是通过初始值判断的。

常量和变量的命名

你能够用不论什么你喜欢的字符作为常量和变量名。包含 Unicode 字符:

 

let π = 3.14159
let 你好 = "你好世界"
let

Swift编程语言学习1.1——常量与变量的更多相关文章

  1. Swift编程语言学习9—— 存储属性和计算属性

    属性将值跟特定的类.结构或枚举关联.存储属性存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值.计算属性能够用于类.结构体和枚举里,存储属性仅仅能用于类和结构体. 存储属性和计算属性通经 ...

  2. Swift编程语言学习6—— 闭包

    闭包是自包括的函数代码块,能够在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其它一些编程语言中的 lambdas 函数比較类似.   闭 ...

  3. Swift编程语言学习11—— 枚举全局变量、局部变量与类型属性

    全局变量和局部变量 计算属性和属性监视器所描写叙述的模式也能够用于全局变量和局部变量,全局变量是在函数.方法.闭包或不论什么类型之外定义的变量,局部变量是在函数.方法或闭包内部定义的变量. 前面章节提 ...

  4. Swift编程语言学习1.4——数值型字面量、数值类型转换

    数值型字面量 整数字面量能够被写作: 一个十进制数,没有前缀 一个二进制数,前缀是0b 一个八进制数,前缀是0o 一个十六进制数,前缀是0x 以下的全部整数字面量的十进制值都是17: let deci ...

  5. Swift编程语言学习3.1排列

    Swift 语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储同样类型的数据.字典尽管无序存储同样类型数据值可是须要由独有的标识符引用和寻址(就是键值对). Swift 语言里的数 ...

  6. Swift编程语言学习1.3——类型安全和投机型

    Swift 是类型安全(type safe )语言.类型安全的语言可以让你清楚地知道代码被处理值类型.假设你需要一个代码String.你绝对不能进去一个不小心传球Int. 因为 Swift 它是类型安 ...

  7. Swift编程语言学习12 ——实例方法(Instance Methods)和类型方法(Type Methods)

    方法是与某些特定类型相关联的函数.类.结构体.枚举都能够定义实例方法:实例方法为给定类型的实例封装了详细的任务与功能.类.结构体.枚举也能够定义类型方法:类型方法与类型本身相关联.类型方法与 Obje ...

  8. Swift编程语言学习4.1——周期

    Swift它提供了类似 C 流量控制结构语言,它包含运行多个任务的能力for和while周期.选择根据不同的编码分支机构的具体条件来运行if和switch声明,有控制流程跳转到其他代码break和co ...

  9. Swift编程语言学习1.6——可选值

    可选值 使用可选(optionals)来处理值可能缺失的情况.可选表示: 有值,等于 x   或者没有值 注意: C 和 Objective-C 中并没有可选这个概念.最接近的是 Objective- ...

随机推荐

  1. SQL索引器

    1.什么是SQL索引器 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 例如这样一个查询:se ...

  2. 关于android studio2.3和android studio3.0

    今天又重新把androidstudio2.3重新装上了,实在是受不了android studio3.0了,太恶心人了 说一下为何改用android studio3.0: 优点: 1. 如果只是写纯应用 ...

  3. js验证护照号码是否合规

    需求:最近要做实名验证的功能,但是验证我们要验证严谨一点,参考了网上关于验证护照号码的代码,总结一下. 代码: //验证护照号码 function checkPassport(code){ var t ...

  4. js 验证字符串是否全为中文

    js 验证字符串是否全为中文: function isChinese(str) { var reg = /^[\u4E00-\u9FA5]+$/; if(reg.test(str)){ return ...

  5. 在WPF中自定义控件

    一, 不一定需要自定义控件在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样 ...

  6. 【转】.net MVC 生命周期

    对于Asp.net MVC,我对它的生命周期还是兴趣很浓,于是提出两个问题: 一个HTTP请求从IIS移交到Asp.net运行时,Asp.net MVC是在什么时机获得了控制权并对请求进行处理呢?处理 ...

  7. Linux必会必知

    一.前言 Linux作为一个开源系统,被极客极力推崇,作为程序员不来了解一下,那就亏了 Linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次 ...

  8. Mybatis插入、查询自定义的数据类型的方式

    1.首先创建JavaBean对象 package com.zuo.Mybatis.bean; public class PhoneNumber { private String countryCode ...

  9. Java 不可变类

    Java 不可变类 immutable object 不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值. 如JDK内部自带的很多不可变类:Interger.Long和String等. * ...

  10. PAT 1034. Head of a Gang[bug]

    有一个两分的case出现段错误,真是没救了,估计是要写bfs的形式,可能栈溢出了 #include <cstdio> #include <cstdlib> #include & ...