常量和变量相关联的名称 (如 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
类型注释
当声明一个常量或变量,可以提供一个类型注释 type annotation,能够清楚看到类型值的常量或变量可以存储。通过将常量或变量名后一个冒号,后跟一个空格,然后使用类型的名称写入类型注释。
这个例子提供了一个类型标注为一个名为welcomeMessage变量,以表示该变量可以存储字符串 String 值:
- var welcomeMessage: String
在声明中冒号的意思是“...类型...”,所以上面的代码中可以读作:
“声明一个变量 welcomeMessage 它的类型为 String.”
“ String的类型”这句话的意思是“可以存储任何字符串值”。把它看成意思是“东西的类型”(或“那种类型”),可以存储。
welcomeMessage变量现在可以设置为不带任何错误字符串值:
- welcomeMessage = "Hello"
命名常量和变量
几乎可以使用任何你喜欢的字符常量和变量名,包括Unicode字符:
- let π = 3.14159
- let 你好 = "你好世界"
- let
输出常量和变量
你可以用println
函数来输出当前常量或变量的值:
println(friendlyWelcome)
// 输出 "Bonjour!"
println
是一个用来输出的全局函数,输出的内容会在最后换行。如果你用 Xcode,println
将会输出内容到“console”面板上。(另一种函数叫print
,唯一区别是在输出内容最后不会换行。)
println
函数输出传入的String
值:
println("This is a string")
// 输出 "This is a string"
与 Cocoa 里的NSLog
函数类似的是,println
函数可以输出更复杂的信息。这些信息可以包含当前常量和变量的值。
Swift 用字符串插值(string interpolation)的方式把常量名或者变量名当做占位符加入到长字符串中,Swift 会用当前常量或变量的值替换这些占位符。将常量或变量名放入圆括号中,并在开括号前使用反斜杠将其转义:
println("The current value of friendlyWelcome is (friendlyWelcome)")
// 输出 "The current value of friendlyWelcome is Bonjour!
注意:
字符串插值所有可用的选项,请参考字符串插值。
易百教程移动端:请扫描本页面底部(右侧)二维码并关注微信公众号,回复:"教程" 选择相关教程阅读或直接访问:http://m.yiibai.com 。
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。
- Java技术群: 227270512 (人数:2000,免费:否)
- MySQL/SQL群: 418407075 (人数:2000,免费:否)
- 大数据开发群: 655154550 (人数:2000,免费:否)
- Python技术群: 287904175 (人数:2000,免费:否)
- 人工智能深度学习: 456236082 (人数:2000,免费:否)
- 测试工程师(新群): 415553199 (人数:1000,免费:否)
- 前端技术群(新群): 410430016 (人数:1000,免费:是)
- C/C++技术(新群): 629264796 (人数:1000,免费:是)
- Node.js技术(新群): 621549808 (人数:1000,免费:是)
- PostgreSQL数据库(新群): 539504187 (人数:1000,免费:是)
- Linux技术: 479429477 (人数:2000,免费:否)
- PHP开发者: 460153241 (人数:2000,免费:否)
- Oracle数据库: 175248146 (人数:2000,免费:否)
- C#/ASP.Net开发者: 579821706 (人数:2000,免费:是)
- 数据分析师: 397883996 (人数:2000,免费:是)R语言,Matlab语言等技术