zoukankan      html  css  js  c++  java
  • 学习笔记(1)

    Swift 的 nil 和 Objective-C 中的 nil 并不一样。在 Objective-C 中,nil 是一个指向不存在对象的指针。在 Swift 中,nil 不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选状态都可以被设置为 nil,不只是对象类型。

    Swift 程序由多种标记组成,标记可以是单词,标识符,常量,字符串或符号。

    1、数据类型:

    Int、Double、Float、Bool、String、Character、Optional

    Int:在32位平台上,IntInt32长度相同;在64位平台上,IntInt64长度相同。

    Double 表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。

    Float 表示32位浮点数。精度要求不高的话可以使用此类型。

    Double精确度很高,至少有15位数字,而 Float 最少只有6位数字。

    Optional:使用可选类型来处理值可能缺失的情况。可选类型表示有值或没有值。

    类型别名:typealias newname = type

    Swift 是一个类型安全(type safe)的语言,所以它会在编译你的代码时进行类型检查

     2、可选类型

    var optionalInteger: Int?
    var optionalInteger: Optional<Int>

    当你声明一个可选变量或者可选属性的时候没有提供初始值,它的值会默认为 nil。

    隐式可选类型:

    一个隐式解析可选类型其实就是一个普通的可选类型,但是可以被当做非可选类型来使用,并不需要每次都使用解析来获取可选值。

    下面的例子展示了可选类型 String 和隐式解析可选类型 String 之间的区别:

    let possibleString: String? = "An optional string."
    let forcedString: String = possibleString! // 需要感叹号来获取值
    
    let assumedString: String! = "An implicitly unwrapped optional string."
    let implicitString: String = assumedString  // 不需要感叹号

    强制解析

    var myString:String?
    
    myString = "Hello, Swift!"
    
    if myString != nil {
       // 强制解析
       print( myString! )
    }else{
       print("myString 值为 nil")
    }

    自动解析:

    你可以在声明可选变量时使用感叹号(!)替换问号(?)。这样可选变量在使用时就不需要再加一个感叹号(!)来获取值,它会自动解析。

    var myString:String!
    
    myString = "Hello, Swift!"
    
    if myString != nil {
       print(myString)
    }else{
       print("myString 值为 nil")
    }

    可选绑定:

    使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。

    var myString:String?
    
    myString = "Hello, Swift!"
    
    if let yourString = myString {
       print("你的字符串值为 - (yourString)")
    }else{
       print("你的字符串没有值")
    }

    3、运算符

    位运算符:

    位运算符用来对二进制位进行操作,~,&,|,^分别为取反,按位与与,按位与或,按位与异或运算,如下表实例:

    pqp & qp | qp ^ q
    0 0 0 0 0
    0 1 0 1 1
    1 1 1 1 0
    1 0 0 1 1

     

     

     

     

    区间运算符

    闭区间运算符:(a...b)     包括a和b

    半开区间      :(a..

    print("闭区间运算符:")
    for index in 1...5 {
        print("(index) * 5 = (index * 5)")
    }
    
    print("半开区间运算符:")
    for index in 1..<5 {
        print("(index) * 5 = (index * 5)")
    }
  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/liyonghua/p/11457160.html
Copyright © 2011-2022 走看看