Swift常量和变量
常量和变量由一个特定名称来表示,如maxNumber 或者 message。常量所指向的是一个特定类型的值,
如数字10或者字符”hello”。变量的值可以根据需要不断修改,而常量的值是不能够被二次修改的。
常量和变量的声明
常量和变量在使用前都需要声明,在Swift中使用let关键词来声明一个常量,var关键词声明一个变量。如下
面例子
以上代码可以理解为:
声明一个叫maxNumOfLoginAttempts的值为10的常量。然后声明一个变量currentLoginAttempt初始值为
0。在这个例子中,最大的登录尝试次数10是不变的,因此声明为常量。而已经登录的尝试次数是可变的,因此
定义为变量。也可以在一行中声明多个变量或常量,用,号分隔:
注意:如果一个值在之后的代码中不会再变化,应该用let关键词将它声明为常量。变量只用来存储会更改的值。
类型注解
在声明常量和变量时,可以使用注解来注明该变量或常量的类型。使用:号加空格加类型名在变量或常量名之后
就可以完成类型注解。下面的
例子就是声明了一个变量叫message,注解类型为字符串String:
分号:在这的作用就像是在说:…是…类型的,因此上述代码可以理解为:
声明一个叫message的变量,它的类型是String
这个类型注解表明message变量能无误地存储任何字符串类型的值,比如message= “hello”
注:
实际编程中很少需要使用类型注解,定义常量或者变量的时候Swift已经根据初始化的值确定了类型信息。
Swift几乎都可以隐式的确定变量或常量的类型,详见: Type Safety and Type Inference。而上面的
message的例子中,初始化值没有被给出,所以更好的办法是指定message变量的类型而不是让Swift隐
式推导类型。
Swift常量和变量的更多相关文章
- Swift常量和变量以及命名规范
我们在上一章中介绍了如何使用Swift编写一个HelloWorld小程序,其中就用到了变量.常量和变量是构成表达式的重要组成部分.常量在声明和初始化变量时,在标识符的前面加上关键字let,就可以把该变 ...
- Swift 常量、变量、条件判断
- 常量用 let ,变量用 var - // Optional为可选项,// 可用类型值 + ? 代替 let x: Optional = 10 let y: Int? = 5 print(x! + ...
- swift 简介和常量与变量 --- swift 入门
一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...
- OC与Swift的区别二(常量、变量、运算符)
4.常量与变量声明 oc的变量声明使用 类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符 swift变量声明使用 var 变量名 = ...
- 李洪强iOS开发Swift篇---11_变量&常量&元组
李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
- Swift - 1 (常量、变量、字符串、数组、字典、元组、循环、枚举、函数)
Swift 中导入类库使用import,不再使用<>,导入自定义不再使用"" import Foundation 1> 声明变量和常量 在Swift中使用 &qu ...
随机推荐
- 判断是否是 首次 进入app,,以及Xcode7之后前导页的设置
我的解决方案:... 1.在appdelegate.m中找到 “application:didFinishLaunchingWithOptions:”方法, 添加以下代码: /** * 前导 ...
- JavaScript实现进入某一页面时自动将鼠标光标放在某一textbox上
<script language="javascript" type="text/javascript"> var txtText0 = " ...
- web页面的适配问题
一个web页面既要在宽屏上显示,又要在窄屏上显示,既要在电脑上显示,又要在手机上显示,这个适配问题相当的麻烦. 其实解决电脑与手机的适配问题,一般有两个思路:一个是做判断,根据不同条件在css和js做 ...
- AD834+表面声波滤波器调试小结
AD834:带宽较宽,300M无压力,但是输出幅度小,当输入2VPPX2VPP的时候最大输出400mVPP.一个特别要注意的地方是输入走线尽量短,敷铜间距至少满足3倍线宽,不然隔直之后还会耦合信号进去 ...
- 怎么使用git来管理项目版本?
怎么使用git来管理项目版本和存放代码? 作者:rongfangliu 转载请注明出处:http://www.cnblogs.com/rongfangliu/p/howuseGit.html 工具: ...
- tabBaritem的图片偏移
tabBarItem.imageInsets = UIEdgeInsetsMake(-10, 0, 10, 0);
- Mac自定义隐藏或显示文件的快捷键
Mac自定义隐藏或显示文件的快捷键 本教程教大家学会自定义隐藏和显示文件夹的快捷键(Command+Shift+.). 1. 打开应用程序--Automator--选择"服务"-- ...
- Android --Search界面样式
Lay_Weight 权重属性的使用 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- MySQLdb模块 类操作方法
#!/usr/bin/env python #-*- coding:utf- -*- from day5 import conf import MySQLdb class MysqlHepler(ob ...
- javascript实例学习之八——无缝切换效果
无缝切换在网站的很多地方都有涉及,比如轮播图等. 基本思路: 1)将可视窗当前的元素复制,依次添加为ul中的子元素 2)改变ul整体的left取值(负的窗口值),动画缓动至想要的位置 3)将原视窗(已 ...