课程咨询 : TEL:0571-56020830 QQ:907090242

杭州达内ios培训

  • Swift语言中字符串相关概念

    发布:杭州达内ios培训班_杭州达内ios培训_杭州ios培训      来源:PHPERZ      时间:2016-02-15


  •     杭州达内IOS培训专家重点介绍一下Swift语言中字符串的基本概念,属于Swift入门基础知识,达内IOS学员可以参考下。

        Swift 的字符是一个单一的字符串文字并且是字符数据类型。下面是一个简单的例子,使用了两种字符常量:

    import Cocoa
    let char1: Character = "A"
    let char2: Character = "B"

    println("Value of char1 \(char1)")
    println("Value of char2 \(char2)")

        当上述代码被编译和执行时,它产生了以下结果:

    Value of char1 A
    Value of char2 B

        如果尝试存储多个字符到字符类型的变量或常量,那么 Swift 是不会允许的。试着键入下面的示例到 Swift Playground,在编译之前,就已经会得到一个错误。

    import Cocoa
    // Following is wrong in Swift
    let char: Character = "AB"

    println("Value of char \(char)")

    空字符变量

        不可能创建一个空的字符变量或常量,这将有空值。下面的语法是不可能的:

    import Cocoa
    // Following is wrong in Swift

    let char1: Character = ""

    var char2: Character = ""
    println("Value of char1 \(char1)")

    println("Value of char2 \(char2)")

    从字符串访问字符

        当讨论 Swift 的字符串,字符串表示的字符值按指定顺序的集合。因此,我们可以从给定字符串通过 for-in 循环来遍历字符串以访问单个字符:

    import Cocoa
    for ch in "Hello" {

       println(ch)

    }

        当上述代码被编译和执行时,它产生了以下结果:

    H
    e
    l
    l
    o

    使用字符连接字符串

        下面的例子演示了 Swift 字符如何与字符串连接。

    import Cocoa
    var varA:String = "Hello "
    let varB:Character = "G"

    varA.append( varB )

    println("Value of varC  =  \(varA)")

        当上述代码被编译和执行时,它产生了以下结果:

    Value of varC Hello G

        Swift 字符串是字符有序集合,如“Hello, World!”,它们是由 Swift 的 String 数据类型表示,这也代表字符类型值的集合。

    创建字符串

        可以通过使用一个字符串文字或创建String类的一个实例来创建一个字符串,如下:

    import Cocoa
    // String creation using String literal
    var stringA = "Hello, Swift!"
    println( stringA )

    // String creation using String instance
    var stringB = String("Hello, Swift!")
    println( stringB )

        当上述代码被编译和执行时,它产生了以下结果:

    Hello, Swift!
    Hello, Swift!

    空字符串

        可以通过使用一个空字符串或创建 String 类的一个实例来创建一个空的字符串,如下所示。还可以检查一个字符串是否为空,使用布尔属性 isEmpty。

    import Cocoa
    // Empty string creation using String literal
    var stringA = ""

    if stringA.isEmpty {
       println( "stringA is empty" )
    } else {
       println( "stringA is not empty" )
    }

    // Empty string creation using String instance
    let stringB = String()

    if stringB.isEmpty {
       println( "stringB is empty" )
    } else {
       println( "stringB is not empty" )
    }

        当上述代码被编译和执行时,它产生了以下结果:

    stringA is empty
    stringB is empty

    字符串常量

        可以指定字符串是否可以修改(或突变),通过将其分配给一个变量,或者通过将其使用 let 关键字分配为常量,如下图所示:

    import Cocoa
    // stringA can be modified
    var stringA = "Hello, Swift!"
    stringA + = "--Readers--"
    println( stringA )

    // stringB can not be modified
    let stringB = String("Hello, Swift!")
    stringB + = "--Readers--"
    println( stringB )

        当上述代码被编译和执行时,它产生了以下结果:

    Playground execution failed: error: <EXPR>:10:1: error: 'String' is not convertible to '@lvalue UInt8'
    stringB + = "--Readers--"

    字符串插值

        字串转换符号是一种通过包括字符串文字内的值来构造的常量,变量,文本和表达式来组合一个新的字符串值。

        每个项目(变量或常量),插入到字符串被包裹在一对括号内, 一个反斜杠前缀。下面是简单的例子:

    import Cocoa
    var varA   = 20
    let constA = 100
    var varC:Float = 20.0

    var stringA = "\(varA) times \(constA) is equal to \(varC * 100)"
    println( stringA )

        当上述代码被编译和执行时,它产生了以下结果:

    20 times 100 is equal to 2000.0

    字符串连接

        可以使用+运算符来连接两个字符串或字符串和字符,或两个字符。下面是一个简单的例子:

    import Cocoa
    let constA = "Hello,"
    let constB = "World!"

    var stringA = constA + constB

    println( stringA )

        当上述代码被编译和执行时,它产生了以下结果:

    Hello,World!

    字符串长度

        Swift 中字符串没有 length 属性,但可以使用全局count()函数来计算字符串中的字符数。下面是一个简单的例子:

    import Cocoa
    var varA   = "Hello, Swift!"

    println( "\(varA), length is \(count(varA))" )

        当上述代码被编译和执行时,它产生了以下结果:

    Hello, Swift!, length is 13

    字符串比较

        可以使用 == 操作符两个比较两个字符串变量或常量。下面是一个简单的例子:

    import Cocoa
    var varA   = "Hello, Swift!"
    var varB   = "Hello, World!"

    if varA == varB {
       println( "\(varA) and \(varB) are equal" )
    } else {
       println( "\(varA) and \(varB) are not equal" )
    }

        当上述代码被编译和执行时,它产生了以下结果:

    Hello, Swift! and Hello, World! are not equal

    Unicode字符串

        可以通过遍历在 UTF8 和 UTF16 属性访问字符串的 UTF-8 和 UTF-16 表示,如下面的示例:

    import Cocoa
    var unicodeString   = "Dog‼"

    println("UTF-8 Codes: ")
    for code in unicodeString.utf8 {
       print("\(code) ")
    }

    print("\n")

    println("UTF-16 Codes: ")
    for code in unicodeString.utf16 {
       print("\(code) ")
    }

        当上述代码被编译和执行时,它产生了以下结果:

    UTF-8 Codes:
    68 111 103 226 128 188 240 159 144 182
    UTF-16 Codes:
    68 111 103 8252 55357 56374



上一篇:达内蝉联荣获2015年度百度营销大学桃李奖

下一篇:Swift中定义二维数组的方法和遍历

开班日期  |  更多

IOS--零基础全日制

IOS--零基础全日制

开班日期:每月28日

IOS--零基础周末班

IOS--零基础周末班

开班日期:每月28日

IOS--全日制班

IOS--全日制班

开班日期:每月28日

IOS--周末班

IOS--周末班

开班日期:每月28日

  • 地址:杭州市西湖区教工路23号百脑汇科技大厦15楼1508室21
  • 课程培训电话: TEL:0571-56020830 QQ:907090242     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56