Swift学习之一:常量与变量

来源:互联网 发布:cocos2dx js 环境搭建 编辑:程序博客网 时间:2024/05/16 12:00

正在学习swift中,看了一遍英文文档,现在是在看第二遍,顺便总结出一些知识点,如果有哪里说明值得质疑的地方,请留言/回复指出,谢谢!


常量与变量都会有一个关联的名字(如maximumNumberOfLoginAttempts或者welcomeMessage),

有特定的类型(如数字10或者字符串"Hello")。常量的值一旦设置就不能再修改,而变量的值
在将来是可以修改为不同的值的。


声明常量与变量

常量与变量在使用前必须先声明。使用let关键字声明常量,而变量是使用var关键字来声明。

看下面的例子:

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. // 分号加不加都行,如果看不习惯,可以自行添加  
  2. // 声明了一个名叫maximumNumberOfLoginAttempts的常量,由于没有指定类型,而又进行了初始化,其值为10,  
  3. // 所以swift会自动推断出常量maximumNumberOfLoginAttempts的类型为Int  
  4. // 这个写法相当于:let maximumNumberOfLoginAttempts: Int = 10  
  5. let maximumNumberOfLoginAttempts = 10  
  6. // 声明的currentLoginAttempt是一个变量,在其他地方可以修改这个变量的值  
  7. // 这里没有显示指定变量的类型,但因为有了初始值0,因此Swift会推断出这个变量的类型为Int  
  8. // 因此下面的写法相当于:var currentLoginAttempt: Int = 10  
  9. var currentLoginAttempt = 0  
  10.   
  11. 可以在一行声明多个变量,变量之间用逗号隔开  
  12. // swift在推断浮点类型时,默认会使用Double类型,下面相当于:  
  13. // var x: Double = 0.0, y: Double = 0.0, z: Double = 0.0  
  14. var x =  


NOTE
如果在你的代码中不希望某个储存的值发生改变,那么总是用let关键字声明为常量。
使用变量只用于值需要改变的。




类型说明(Type Annotation)

上面的注释中已经用到了类型说明,其实就是在声明变量或者常量的同时显示指定变量或者常量的类型
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. // 这样写法是错误的,因为我们没有指定类型,而swift又没有具体的初始值来判断  
  2. // 我们希望这个变量的类型  
  3. var welcomeMessage //Error  
  4.   
  5. 那么我们有两种方式处理,一种是给定一个初始值让swift帮助我们推断出类型,另一种是我们显示指定类型  
  6. var welcomeMessage: String // 我们想要的是String类型  
  7. var welcomeMessage = "Hello" // swift会根据这个初始值判断出类型为String  
NOTE
在实际的工作中,很少需要写明类型说明。如果在定义变量或者常量的时候就提供了初始值,
那么Swift总是会推断出该变量或者常量的类型。


命名常量、变量

swift中可以使用Unicode字符
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. let n = 3.14159  
  2. let 你好 = "你好,Swift" // 虽然可以用中文作为变量名,但我不建议这么做。。。个人建议  


打印常量、变量
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. // 在swift中打印语句可以用println,print  
  2. // 前者是打印最后添加了一个换行,后者则没有添加  
  3. println(welcomeMessage) // 会换行  
  4. print(welcomeMessage)   // 不会换行  
  5.   
  6. // 注意到这里打印的方式了吗?使用\()把变量放到括号中  
  7. println("The welcomeMessage is \(welcomeMessage)")  
  8.          
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 事实不清的案件怎么办 交通事故没时间去做笔录怎么办 偷东西被拘留家长该怎么办 在香港被拘留了怎么办 发票认证机卡了怎么办 交罚款的单子丢了怎么办 父亲行政拘留考警察政审不过怎么办 非法经营罪立案后不批刑拘怎么办 12分扣完了怎么办2018 驾驶证c1扣14分怎么办 车辆被扣12分怎么办 两个违章扣12分怎么办 车辆违章扣12分怎么办 一下扣了20分怎么办 违章扣了100多分怎么办 车子累计扣12分怎么办 起诉了对方不来怎么办 在监狱里被打伤了怎么办 初三要体检没去怎么办 羁押人在看守所没判刑怎么办? 在看守所关两年了还没有判刑怎么办 开麻将馆被拘留怎么办 拘留31天了我该怎么办 收到一封拘留信怎么办 存钱的收据掉了怎么办 行政拘留法制没有批的怎么办 别人起诉我我该怎么办 去钟落潭看守所送衣服要怎么办 长城宽带账号密码忘了怎么办 预约考试密码忘了怎么办 健康证预约号忘记怎么办啊 人在看守所七个月还没结果怎么办 起诉书和判决书丢了怎么办 进了看守所信用卡逾期怎么办 公安局审讯室监控影相被删除怎么办 关进看守所以前的工作怎么办 上海初中借读生学籍怎么办 外地货北京三环怎么办 谁买了小产权怎么办 狗在小区丢了怎么办 太原回迁房多余的房子怎么办