Swift学习笔记(十四)——字符,常量字符串与变量字符串

来源:互联网 发布:javac 知乎 编辑:程序博客网 时间:2024/05/18 19:46

       在学习Java过程中,字符串碰到过String和StringBuffer,其中前者是不可变的,不能对字符串进行修改;后者是可变的,可以不断修改。来到Swift中,对字符串的定义变的更加简单。

(1)概述

Swift中,用let 声明的是字符串常量,不能进行修改。用var声明的是字符串变量,可以修改。通过代码来演示。

let str1 = "Hello1"var str2 = "Hello2"str1 = "world1"//报错:cannot assign to 'let' value 'str1'str2 = "world2"str1 += "world1"//报错:binary operator '+=' cannot be applied to two String operands str1 += 'world1'str2 += "world2"

由代码可见,let声明的字符串不可变,var声明的字符串可变。


(2)字符串初始化

Swift字符串有两种初始化方法,第一种方法是赋空值;第二种是用String()类实例化。代码如下:

var str3=""var str4 = String()

(3)字符串为空判断

有时候代码中需要判断一个字符串是否为空,可以使用isEmpty()方法。代码及输出如下:

var str1 = "Hello"let str2 = "Hello"var str3 = ""var str4 = String()str1.isEmpty  //输出falsestr2.isEmpty  //输出falsestr3.isEmpty  //输出truestr4.isEmpty  //输出true


 

     (4)使用for-in循环遍历字符串

var str1 = "Hello"//使用for-in 循环遍历字符串for index in str1{    println(index)}

输出结果如下:


(5)Swift字符

      同C语言一样,在Swift中也有字符的概念,使用关键字Character声明。代码如下:

var ch:Character = "h"println(ch)

结果输出如下:

。  

       其中字符串还可以使用append()方法添加一个字符,但是不能使用append()方法添加一个String。代码如下:

var ch:Character = "h"var str1:String = "Hello"var str2:String = "World"str1.append(ch)//通过str1.append(str2)//报错:Cannot invoke 'append' with an argument list of type '(String)'
输出结果如下:


(6)字符串中+=运算符的使用

在字符串中有一个重要的运算符:+=,可以用来拼接两个字符串。但是不能拼接字符。

代码如下:

var ch:Character = "h"var str1:String = "Hello"var str2:String = "World"str1 += str2//通过,可以连接两个字符串str1 += ch//报错如下图:


最后String拼接后输出结果:


(7)计算字符串长度

我使用的Xcode版本是最新的Version 6.4(6E35b),可能在不同的Xcode版本和Swift版本中该方法会有所不同。网上说可以使用countElements(str),来计算字符串长度,但是亲测在我的这个版本中不适用,Xcode6.4只能使用count(str)方法来计算String长度。并且count()不能计算字符Character的 长度,因为字符默认是1,不需要计算。大家可以在自己的环境上尝试countElements(),count() 两个方法。

代码如下:

var str1:String = "Hello"var str2:String = "你好吗"count(str1)count(str2)

输出结果如下:


github主页:https://github.com/chenyufeng1991  。欢迎大家访问!

2 0