zoukankan      html  css  js  c++  java
  • 赵雅智_Swift(2)_swift常量和变量

    分号

    Swift 并不强制要求你在每条语句的结尾处使用分号(;)

    你打算在同一行内写多条独立的语句必需要用分号

    let cat = "?

    ??

    ?

    "; println(cat) // 输出 "??

    ??

    "



    常量和变量把一个名字(比方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 ???

    ???

    ?? = "dogcow"

    常量与变量名不能包括数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。

    也不能以数字开头。可是能够在常量与变量名的其它地方包括数字。

    一旦你将常量或者变量声明为确定的类型,你就不能使用同样的名字再次进行声明。或者改变其存储的值的类型。

    同一时候,你也不能将常量与变量进行互转

    注意:假设你须要使用与Swift保留keyword同样的名称作为常量或者变量名,你能够使用反引號(`)将keyword包围的方式将其作为名字使用。不管怎样。你应当避免使用keyword作为常量或变量名。除非你别无选择。

     

    你能够更改现有的变量值为其它同类型的值,在以下的样例中,friendlyWelcome的值从"Hello!"改为了"Bonjour!":

    var friendlyWelcome = "Hello!" 
    friendlyWelcome = "Bonjour!" 
    // friendlyWelcome 如今是 "Bonjour!" 

    与变量不同,常量的值一旦被确定就不能更改了。尝试这样做会导致编译时报错:

    let languageName = "Swift" 
    languageName = "Swift++" 
    // 这会报编译时错误 - languageName 不可改变 

    输出常量和变量

    你能够用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! 

    注意:字符串插值全部可用的选项,请參考字符串插值

  • 相关阅读:
    MongoDB下配置用户权限
    (CF)Codeforces445A DZY Loves Chessboard(纯实现题)
    C语言概述
    C#中值类型和引用类型的差别浅记
    Qt5官方demo解析集30——Extending QML
    汉澳sinox通过ndis执行windows驱动程序
    linux设备驱动归纳总结(三):4.ioctl的实现【转】
    linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现【转】
    linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】
    linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6800140.html
Copyright © 2011-2022 走看看