• Swift基础


    1:hello world

    import Foundation
    
    println("hello world")

    就这样,一句代码就可以打印出 hello world 不需要在末尾加";" 这里如果你加了";"同样可以运行的。感觉好像是为了避免麻烦,不再像c语言那样,每句代码末尾都加";",说来也是,从哲学来说,每句代码都加";"约等于不加";" ,反而每次都写,麻烦!

    2:代码注释,和c语言的 "//" 与"/* */"一样

    3: println()输出

    如果要输出变量 

    var fTmp = 8.9
    println("(fTmp)")//println的格式化是用的"()"来做的,这个万能的东西,顶替了c语言的printf()时候用%s,%d, %c, %f格式化写参数的办法。其原因我估计还是因为他能推理变量的类型,所以自己做了数据类型格式化吧,
     

    4:常量和变量

    在使用前必须要先声明。声明是用 ":"

    var strMsg: String
    strMsg = "I'm swift"
    var strMsg : String?//默认初始化位nil
    let iMax = 10 //常量 ,需要初始化,不能再次被修改
    //iMax = 9 编译失败,可能类似与c语言的const修饰吧。
    var iMini = 3//变量,可以不初始化
    var iTmp : Int32//变量声明。没初始化
    iTmp = 44//变量赋值

    这里,swift对数据类型是采用的推理类型而来的,他的推理类型也符合c语言中数据类型转换时候的兼容规则

    var fTmp = 8.9
    fTmp = 9
    println("(fTmp)")
    //这里推理fTmp为float类型,那么这里在fTmp=9时候,可以把整数9类型转换成float类型。所以你可以看到输出的是 9.0
    但反之则不行

    var fTmp = 8

    //fTmp = 9.02 编译失败

     

    可以一次定义多个变量

    var iTmp = 9, iTex = 9.8//这里每个变量的类型推理都是独立的。
    // iTmp = 8.99 出错
    //iTmp 被推理为 int。 iTex推理为float

    var red, green, blue: Double//表示三个变量都为Double类型

     

    变量名和常量名支持unicode,这样,也可以用汉字或者其他字符,但我想我是不会这么使用的。

    5:int 数据类型

    int数据表示范围可以用 .max方法

    let minValue = UInt8.min  // minValue is equal to 0, and is of type UInt8
    let maxValue = UInt8.max  // maxValue is equal to 255, and is of type UInt8

    Int 根据系统,32系统下表示 Int32 和64位系统下Int64。

    UInt 根据系统,32系统下表示 UInt32 和64位系统下UInt64。

    let decimalInteger = 17
    let binaryInteger = 0b10001       // 17 in binary notation
    let octalInteger = 0o21           // 17 in octal notation
    let hexadecimalInteger = 0x11     // 17 in hexadecimal notation

    类型转换

    var dbVar :Double
    dbVar = 9.9
    let iVar = Int(dbVar)
    println("(iVar)")
    
    var strInt = "123"
    var iVar = strInt.toInt()
    如果成功,iVar返回Int 否则返回nil
      

    6:Bool 该类型明确的是 "true" 和"false"

    if 语句只检测Bool类型

    let iFlag= 1
    if iFlag {
        // 编译失败, 1不是逻辑值
    }
    let iFlag= 1
    if 1==iFlag {
        //可以
    }

    7:元组数据 用()括起来

    let tupError = (500, "httpError")
    let (errorCode, errorMsg) = tupError
    println("(errorCode)")//500
    println("(errorMsg)")// httpError

    你也可以定义命名元组

    let tupError = (errorCode :500, errorMsg:"httpError")
    println("(errorCode)")//500
    println("(errorMsg)")// httpError

    8:nil swift的nil不同于其他语言,比如OC表示空指针,而swift表示没有值,至于类型不仅限于指针类型。swift中可以把nil设置给任何类型

    var iFlag :Int?
    iFlag = nil
    iFlag = 9
  • 相关阅读:
    将博客搬至CSDN
    HDU1175 + HDU1728+BFS转弯
    HDU1401 BFS
    HDU1401 双广BFS
    分布式一致性
    GFS架构分析
    云计算资源分享与下载
    mysql导入导出数据方法
    缓存设计的一些思考
    HBase性能优化方法总结
  • 原文地址:https://www.cnblogs.com/zhidao-chen/p/3863136.html
Copyright © 2020-2023  润新知