zoukankan      html  css  js  c++  java
  • Swift语法基础:13

    前面把基本的运算符搞定了, 现在让我们来看看Swift的字符串.


    1.字符串字面量

    所谓的字符串字面量其实就是你一个字符串变量里面有多少个字符, 这个理解不难.

    let someString = "Some string literal value"

    PS: 这里就涉及到我们之前学到的一个知识点, 类型推测, 由于someString是使用”Some string literal value”初始化的, 所以编译器会自动判断someString是String类型.


    2.初始化空字符串

    var emptyString = ""
    var anotherEmptyString = String()

    这两者都是空字符串的初始化方式, 两者都是等价的.

    我们还可以通过一个函数来判断字符串是否为空:

    if emptyString.isEmpty {
        println("Nothing to see here")
    }
    // 打印出来的结果: Nothing to see here

    3.字符串可变性

    在Swift中更改字符串和添加字符串是非常简单的事情, 比如:

    var variableString = "Horse"
    variableString += " and carriage"
    println(variableString)
    // 打印出来的结果: Horse and carriage

    有一个注意点, 常量的时候是不可以这样子做的, 编译器会报错, 比如:

    let constantString = "Highlander"
    constantString += " and another Highlander"

    常量不可这样用


    4.字符串是值类型

    Swift 的 String 类型是值类型。如果您创建了一个新的字符串值,那么当其进行常量、变量 赋值操作或在函数/方法中传递时,会进行值拷贝。在不同情况下,都会对已有字符串值创
    建新副本,并对该新副本进行传递或赋值。

    PS: 和 Cocoa 中的 NSString 不同,当您在 Cocoa 中创建了一个 NSString 实例 并将其传递给一个函数/方法,或者赋给一个变量,您永远都是传递或赋值同一个 NSString 实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值 新副本操作。

    Swift 默认字符串拷贝的方式保证了在函数/方法中传递的是字符串的值,其明确您独有该字 符串的值,无论它来自哪里。您可以放心您传递的字符串本身不会被更改,除非是你自己更 改它。


    好了, 这次我们就讲到这里, 下次我们继续~

  • 相关阅读:
    Codeforces Round #650 (Div. 3)
    C. Count Triangles
    A National Pandemic (思维 + 树链剖分模版)
    扫描线专题
    扫描线模版
    莫队模版
    JS设计模式 -- 4种创建型模式
    滑动窗口的最大值 -- 单调队列
    JS链表实现栈和队列
    js数组扁平化的几种实现方式
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4333125.html
Copyright © 2011-2022 走看看