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常量和变量相关推荐
- 1.swift 常量和变量
1.let 声明常量 ,var 声明变量 let myConstant = 42; var myVar = 43; myVar = 50; 如果初始值没有提供足够的信息(或者没有初始值),那你需要在变 ...
- 《Swift 权威指南》——第6章,第6.7节常量和变量参数
本节书摘来自异步社区<Swift 权威指南>一书中的第6章,第6.7节常量和变量参数,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 6.7 常量和变量 ...
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift ...
- Swift学习------常量与变量
常量与变量 * let 常量: 常量的值一旦设定就不能改变 * var 变量: 变量的值可以随意更改 * 常量&变量的使用原则: * 为保证数据的安全性尽量先用 let,只有需要改变的时候才使 ...
- Swift傻傻分不清楚系列(一)常量与变量
菜鸟从零开始认识学习Swift.感谢大神们翻译的文档.搬到自己小黑屋里慢慢看~~~ 本页包含内容: 常量和变量 声明常量和变量 类型标注 常量和变量的命名 输出常量和变量 注释 分号 Swift 是一 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇-02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
- Swift语言指南(一)--语言基础之常量和变量
原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swif ...
- 《从零开始学Swift》学习笔记(Day 8)——小小常量、变量大作用
原创文章,欢迎转载.转载请注明:关东升的博客 计算机语言学习中都有常量和变量,他们几乎是我编写代码的灵魂了,离开他们我真的是"活不了" 常量是标识符的前面加上关键字let ...
- 赵雅智_Swift(2)_swift常量和变量
分号 Swift 并不强制要求你在每条语句的结尾处使用分号(;) 你打算在同一行内写多条独立的语句必需要用分号 let cat = "? ?? ? "; println(cat) ...
最新文章
- 小撒、金晨都想拥有!百度全球首款汽车机器人亮相,车内躺着看星星
- gitlab 更新文件_GitLab任意文件读取漏洞公告
- HttpURLConnection 中Cookie 使用
- Java中方法参数的传递
- root cause of error messagw for a mixed usage of 01 and 03
- springboot jwt token前后端分离_基于Spring Boot+Spring Security+JWT+Vue前后端分离的开源项目...
- oracle mysql 安全性_oracle mysql语句
- MyBatis中selectByExample和selectByExampleWithBLOBs区别
- 【learning】一种奇妙的网络流建模方式
- java poi合并单元格后内容无法显示
- 天天QQ记牌器2.37 去广告绿色版
- php表格怎么加粉色,为什么EXCEL算出的数据表格变成粉色-这个粉红色在excel表中怎么设置出来,参数值~...
- 高一计算机课期中考试总结反思,信息技术期中考试试卷分析与反思
- display 属性
- 工程材料学习3——第二章 金属材料组织和性能的控制(2.1 纯金属的结晶 2.2 合金的结晶)
- codeforces 1635E-Cars (二分图染色+拓扑排序)
- 实时控制软件第一次作业总结
- Learning Memory-guided Normality for Anomaly Detection 代码解析
- 什么是高度塌陷 以及高度塌陷的解决办法
- TL-R402M路由器恢复出厂设置方法
热门文章
- liunx查看python的site-packages路径
- gpio pin和pad的区别
- stackoverflow上一个最会举例子的专家
- PHP--isset()和unset()函数的用法
- C#实现Des加密和解密
- 调试JDK源码-HashSet实现原理
- Caffe源码中common文件分析
- 【Qt】QPixmap加载图片报错:Corrupt JPEG data: premature end of data segment Didn‘t expect more than one scan
- 【Qt中文手册】QSortFilterProxyModel
- mysql的字符串函数大全_MySQL的字符串函数大全