国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Swift > 正文

Swift語(yǔ)言中字符串相關(guān)的基本概念解析

2020-03-09 17:49:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了Swift語(yǔ)言中字符串相關(guān)的基本概念解析,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
 

Swift 的字符是一個(gè)單一的字符串文字并且是字符數(shù)據(jù)類型。下面是一個(gè)簡(jiǎn)單的例子,使用了兩種字符常量:

復(fù)制代碼代碼如下:

import Cocoa

 

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

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


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

Value of char1 AValue of char2 B

如果嘗試存儲(chǔ)多個(gè)字符到字符類型的變量或常量,那么 Swift 是不會(huì)允許的。試著鍵入下面的示例到 Swift Playground,在編譯之前,就已經(jīng)會(huì)得到一個(gè)錯(cuò)誤。

復(fù)制代碼代碼如下:

import Cocoa

 

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

println("Value of char /(char)")


空字符變量
不可能創(chuàng)建一個(gè)空的字符變量或常量,這將有空值。下面的語(yǔ)法是不可能的:
復(fù)制代碼代碼如下:

import Cocoa

 

// Following is wrong in Swift
let char1: Character = ""
var char2: Character = ""

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


從字符串訪問(wèn)字符
當(dāng)討論 Swift 的字符串,字符串表示的字符值按指定順序的集合。因此,我們可以從給定字符串通過(guò) for-in 循環(huán)來(lái)遍歷字符串以訪問(wèn)單個(gè)字符:
復(fù)制代碼代碼如下:

import Cocoa

 

for ch in "Hello" {
   println(ch)
}


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

Hello

使用字符連接字符串
下面的例子演示了 Swift 字符如何與字符串連接。

復(fù)制代碼代碼如下:

import Cocoa

 

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

varA.append( varB )

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


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

Value of varC Hello G

Swift 字符串是字符有序集合,如“Hello, World!”,它們是由 Swift 的 String 數(shù)據(jù)類型表示,這也代表字符類型值的集合。

創(chuàng)建字符串
可以通過(guò)使用一個(gè)字符串文字或創(chuàng)建String類的一個(gè)實(shí)例來(lái)創(chuàng)建一個(gè)字符串,如下:

復(fù)制代碼代碼如下:

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 )


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

Hello, Swift!Hello, Swift!

空字符串
可以通過(guò)使用一個(gè)空字符串或創(chuàng)建 String 類的一個(gè)實(shí)例來(lái)創(chuàng)建一個(gè)空的字符串,如下所示。還可以檢查一個(gè)字符串是否為空,使用布爾屬性 isEmpty。

復(fù)制代碼代碼如下:

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" )
}


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

stringA is emptystringB is empty

字符串常量
可以指定字符串是否可以修改(或突變),通過(guò)將其分配給一個(gè)變量,或者通過(guò)將其使用 let 關(guān)鍵字分配為常量,如下圖所示:

復(fù)制代碼代碼如下:

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 )


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

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

字符串插值
字串轉(zhuǎn)換符號(hào)是一種通過(guò)包括字符串文字內(nèi)的值來(lái)構(gòu)造的常量,變量,文本和表達(dá)式來(lái)組合一個(gè)新的字符串值。

每個(gè)項(xiàng)目(變量或常量),插入到字符串被包裹在一對(duì)括號(hào)內(nèi), 一個(gè)反斜杠前綴。下面是簡(jiǎn)單的例子:

復(fù)制代碼代碼如下:

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 )


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

20 times 100 is equal to 2000.0

字符串連接
可以使用+運(yùn)算符來(lái)連接兩個(gè)字符串或字符串和字符,或兩個(gè)字符。下面是一個(gè)簡(jiǎn)單的例子:

復(fù)制代碼代碼如下:

import Cocoa

 

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

var stringA = constA + constB

println( stringA )


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

Hello,World!

字符串長(zhǎng)度
Swift 中字符串沒(méi)有 length 屬性,但可以使用全局count()函數(shù)來(lái)計(jì)算字符串中的字符數(shù)。下面是一個(gè)簡(jiǎn)單的例子:

復(fù)制代碼代碼如下:

import Cocoa

 

var varA   = "Hello, Swift!"

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


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

Hello, Swift!, length is 13

字符串比較
可以使用 == 操作符兩個(gè)比較兩個(gè)字符串變量或常量。下面是一個(gè)簡(jiǎn)單的例子:

復(fù)制代碼代碼如下:

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" )
}


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

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

Unicode字符串
可以通過(guò)遍歷在 UTF8 和 UTF16 屬性訪問(wèn)字符串的 UTF-8 和 UTF-16 表示,如下面的示例:

復(fù)制代碼代碼如下:

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) ")
}


當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

 

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 斗六市| 阿拉善右旗| 临夏市| 昭觉县| 共和县| 突泉县| 东城区| 饶平县| 枣庄市| 吉林省| 景谷| 随州市| 阿城市| 筠连县| 文化| 凤城市| 青岛市| 开平市| 南充市| 泸水县| 同仁县| 那曲县| 潼南县| 安康市| 泸西县| 唐河县| 阿拉善右旗| 航空| 许昌市| 定远县| 吉木乃县| 昆明市| 穆棱市| 新蔡县| 新民市| 延寿县| 红桥区| 黑河市| 灵台县| 镇平县| 南宫市|