加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift String

发布时间:2020-12-14 02:33:33 所属栏目:百科 来源:网络整理
导读:初始化空字符串 为了构造一个很长的字符串,可以创建一个空字符串作为初始值。可以将空的字符串字面量赋值给变量,也可以初始化一个新的String实例: var emptyString = "" // 空字符串字面量 var anotherEmptyString = String() // 初始化 String 实例 //

初始化空字符串

为了构造一个很长的字符串,可以创建一个空字符串作为初始值。可以将空的字符串字面量赋值给变量,也可以初始化一个新的String实例:
   
   
  1. var emptyString = "" // 空字符串字面量
  2. var anotherEmptyString = String() // 初始化 String 实例
  3. // 两个字符串均为空并等价。
您可以通过检查其Boolean类型的isEmpty属性来判断该字符串是否为空:
if emptyString.isEmpty {
  • println("什么都没有")
  • }
  • // 打印输出:"什么都没有"
  • 字符串可变性

    您可以通过将一个特定字符串分配给一个变量来对其进行修改,或者分配给一个常量来保证其不会被修改:
    var variableString = "Horse"
  • variableString += " and carriage" // variableString 现在为 "Horse and carriage"
  • let constantString = "Highlander"
  • constantString += " and another Highlander" // 这会报告一个编译错误(compile-time error) - 常量不可以被修改。
  • 注意:在 Objective-C 和 Cocoa 中,您通过选择两个不同的类( NSString 和 NSMutableString )来指定该字符串是否可以被修改,Swift中的字符串是否可以修改仅通过定义的是变量还是常量来决定,实现了多种类型可变性操作的统一。

    字符串是值类型

    Swift 的String类型是值类型。如果您创建了一个新的字符串,那么当其进行常量、变量赋值操作或在函数/方法中传递时,会进行值拷贝。任何情况下,都会对已有字符串值创建新副本,并对该新副本进行传递或赋值。值类型在Structures and Enumerations Are Value Types中进行了说明。
    注意:其 Cocoa 中的 NSString 不同,当您在 Cocoa 中创建了一个 NSString 实例,并将其传递给一个函数/方法,或者赋值给一个变量,您永远都是传递或赋值同一个 NSString 实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值新副本操作。
    Swift 默认字符串拷贝的方式保证了在函数/方法中传递的是字符串的值,其明确了无论该值来自于哪里,都是您独自拥有的。您可以放心您传递的字符串本身不会被更改。

    在实际编译时,Swift编译器会优化字符串的使用,使实际的复制只发生在绝对必要的情况下,这意味着您始终可以将字符串作为值类型的同时获得极高的性能。

    使用字符(Characters)

    Swift 的String类型表示特定序列的字符值的集合。每一个字符值代表一个 Unicode 字符。您可利用 for-in 循环来遍历字符串中的每一个字符:
    for character in "Dog!" {
  • println(character)
  • // D
  • // o
  • // g
  • // !
  • for-in 循环在For Loops中进行了详细描述。
    另外,通过标明一个Character类型注解并通过字符字面量进行赋值,可以建立一个独立的字符常量或变量:
    let yenSign: Character = "¥"

    计算字符数量

    通过调用全局countElements函数并将字符串作为参数进行传递可以获取该字符串的字符数量。
    let unusualMenagerie = "Koala
    0
    0

    相关文章推荐
    • ? Swift初学之String Array Dictionary
    • ? 用户画像系统应用与技术解析--汪剑
    • ? Swift教程之String的运用
    • ? 2017 求职面试集训营之VIP服务版--刘道宽
    • ? Swift 的基本数据类型 常量和变量、String 的基本操作
    • ? 如何优雅地编写Java
    • ? Swift入门教程3-字符串String
    • ? MySQL特性详解
    • ? Swift学习笔记(十八)——字符串String.Index和Range详解
    • ? React全家桶之Web基础应用
    • ? Swift2-0基础_String(字符串)
    • ? OpenStack从入门到放弃
    • ? swift 3.0 再探索 - 1.String
    • ? swift string概览——boolean
    • ? Swift常用的String类扩展
    • ? Swift编程基础之笔记总结---String
    查看评论
    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读