欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2015年11月03日 14:51:22   投稿:goldensun  
這篇文章主要介紹了Swift語言中字符串相關(guān)的基本概念解析,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

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

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

import Cocoa

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

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


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

Value of char1 A
Value of char2 B

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

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

import Cocoa

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

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


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

import Cocoa

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

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


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

import Cocoa

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


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

H
e
l
l
o

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

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

import Cocoa

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

varA.append( varB )

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


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

Value of varC Hello G

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

創(chuàng)建字符串
可以通過使用一個字符串文字或創(chuàng)建String類的一個實例來創(chuàng)建一個字符串,如下:

復(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í)行時,它產(chǎn)生了以下結(jié)果:

Hello, Swift!
Hello, Swift!

空字符串
可以通過使用一個空字符串或創(chuàng)建 String 類的一個實例來創(chuàng)建一個空的字符串,如下所示。還可以檢查一個字符串是否為空,使用布爾屬性 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í)行時,它產(chǎn)生了以下結(jié)果:

stringA is empty
stringB is empty

字符串常量
可以指定字符串是否可以修改(或突變),通過將其分配給一個變量,或者通過將其使用 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í)行時,它產(chǎn)生了以下結(jié)果:

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

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

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

復(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í)行時,它產(chǎn)生了以下結(jié)果:

20 times 100 is equal to 2000.0

字符串連接
可以使用+運算符來連接兩個字符串或字符串和字符,或兩個字符。下面是一個簡單的例子:

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

import Cocoa

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

var stringA = constA + constB

println( stringA )


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

Hello,World!

字符串長度
Swift 中字符串沒有 length 屬性,但可以使用全局count()函數(shù)來計算字符串中的字符數(shù)。下面是一個簡單的例子:

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

import Cocoa

var varA   = "Hello, Swift!"

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


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

Hello, Swift!, length is 13

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

復(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í)行時,它產(chǎn)生了以下結(jié)果:

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

Unicode字符串
可以通過遍歷在 UTF8 和 UTF16 屬性訪問字符串的 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í)行時,它產(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)文章

  • Swift中的命名空間詳解

    Swift中的命名空間詳解

    這篇文章主要給大家介紹了關(guān)于Swift中命名空間的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Swift自定義UITableViewCell背景色

    Swift自定義UITableViewCell背景色

    這篇文章主要為大家詳細(xì)介紹了Swift自定義UITableViewCell背景色,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • swift實現(xiàn)自動輪播圖效果(UIScrollView+UIPageControl+Timer)

    swift實現(xiàn)自動輪播圖效果(UIScrollView+UIPageControl+Timer)

    這篇文章主要為大家詳細(xì)介紹了swift實現(xiàn)自動輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 程序遷移到swift 3.0的一些實用技巧

    程序遷移到swift 3.0的一些實用技巧

    Swift項目為適配iOS10,無奈只能更新Xcode 8 ,可是發(fā)現(xiàn)一入3.0深似海,從此幸福是路人。于是邊摸索邊修改,終于完成了代碼遷移。節(jié)后在完成手頭工作后,整理思路把Swift3.0遷移的一些實用技巧分享大家,需要的朋友可以參考下。
    2017-03-03
  • swift 錯誤處理do catch try try!使用詳解

    swift 錯誤處理do catch try try!使用詳解

    這篇文章主要介紹了swift 錯誤處理do catch try try!使用詳解的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Swift免費短信驗證碼實現(xiàn)及動態(tài)倒計時功能

    Swift免費短信驗證碼實現(xiàn)及動態(tài)倒計時功能

    這篇文章主要介紹了Swift免費短信驗證碼實現(xiàn)及動態(tài)倒計時功能的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • 詳解在swift中實現(xiàn)NSCoding的自動歸檔和解檔

    詳解在swift中實現(xiàn)NSCoding的自動歸檔和解檔

    本篇文章主要介紹了在swift中實現(xiàn)NSCoding的自動歸檔和解檔,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Swift編程中的switch...case語句實例解析

    Swift編程中的switch...case語句實例解析

    這篇文章主要介紹了Swift編程中的switch...case語句實例解析,其中重點還是對于fallthrough關(guān)鍵字用法的講解,需要的朋友可以參考下
    2016-04-04
  • 簡單理解插入排序算法及Swift版的代碼示例

    簡單理解插入排序算法及Swift版的代碼示例

    插入排序算法可以在已排序的序列中將要插入的元素和原有元素保持有序,這里我們來簡單理解插入排序算法及Swift版的代碼示例,需要的朋友可以參考下
    2016-07-07
  • 用SwiftUI實現(xiàn)3D Scroll滾動效果的實現(xiàn)代碼

    用SwiftUI實現(xiàn)3D Scroll滾動效果的實現(xiàn)代碼

    這篇文章主要介紹了用SwiftUI實現(xiàn)3D Scroll效果的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)
    2020-04-04

最新評論