程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Swift說話中字符串相干的根本概念解析

Swift說話中字符串相干的根本概念解析

編輯:更多關於編程

Swift說話中字符串相干的根本概念解析。本站提示廣大學習愛好者:(Swift說話中字符串相干的根本概念解析)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift說話中字符串相干的根本概念解析正文


Swift 的字符是一個單一的字符串文字而且是字符數據類型。上面是一個簡略的例子,應用了兩種字符常量:

import Cocoa

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

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

當上述代碼被編譯和履行時,它發生了以下成果:

Value of char1 A
Value of char2 B

假如測驗考試存儲多個字符到字符類型的變量或常量,那末 Swift 是不會許可的。試著鍵入上面的示例到 Swift Playground,在編譯之前,就曾經會獲得一個毛病。

import Cocoa

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

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

空字符變量
弗成能創立一個空的字符變量或常量,這將有空值。上面的語法是弗成能的:

import Cocoa

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

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

從字符串拜訪字符
當評論辯論 Swift 的字符串,字符串表現的字符值按指定次序的聚集。是以,我們可以從給定字符通同過 for-in 輪回來遍歷字符串以拜訪單個字符:

import Cocoa

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

當上述代碼被編譯和履行時,它發生了以下成果:

H
e
l
l
o

應用字符銜接字符串
上面的例子演示了 Swift 字符若何與字符串聯接。

import Cocoa

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

varA.append( varB )

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

當上述代碼被編譯和履行時,它發生了以下成果:

Value of varC Hello G

Swift 字符串是字符有序聚集,如“Hello, World!”,它們是由 Swift 的 String 數據類型表現,這也代表字符類型值的聚集。

創立字符串
可以經由過程應用一個字符串文字或創立String類的一個實例來創立一個字符串,以下:

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 )

當上述代碼被編譯和履行時,它發生了以下成果:

Hello, Swift!
Hello, Swift!

空字符串
可以經由過程應用一個空字符串或創立 String 類的一個實例來創立一個空的字符串,以下所示。還可以檢討一個字符串能否為空,應用布爾屬性 isEmpty。

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

當上述代碼被編譯和履行時,它發生了以下成果:

stringA is empty
stringB is empty

字符串常量
可以指定字符串能否可以修正(或漸變),經由過程將其分派給一個變量,或許經由過程將其應用 let 症結字分派為常量,以下圖所示:

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 )

當上述代碼被編譯和履行時,它發生了以下成果:

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

字符串插值
字串轉換符號是一種經由過程包含字符串文字內的值來結構的常量,變量,文本和表達式來組合一個新的字符串值。

每一個項目(變量或常量),拔出到字符串被包裹在一對括號內, 一個反斜槓前綴。上面是簡略的例子:

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 )

當上述代碼被編譯和履行時,它發生了以下成果:

20 times 100 is equal to 2000.0

字符串聯接
可以應用+運算符來銜接兩個字符串或字符串和字符,或兩個字符。上面是一個簡略的例子:

import Cocoa

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

var stringA = constA + constB

println( stringA )

當上述代碼被編譯和履行時,它發生了以下成果:

Hello,World!

字符串長度
Swift 中字符串沒有 length 屬性,但可以應用全局count()函數來盤算字符串中的字符數。上面是一個簡略的例子:

import Cocoa

var varA   = "Hello, Swift!"

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

當上述代碼被編譯和履行時,它發生了以下成果:

Hello, Swift!, length is 13

字符串比擬
可以應用 == 操作符兩個比擬兩個字符串變量或常量。上面是一個簡略的例子:

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

當上述代碼被編譯和履行時,它發生了以下成果:

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

Unicode字符串
可以經由過程遍歷在 UTF8 和 UTF16 屬性拜訪字符串的 UTF-8 和 UTF-16 表現,以下面的示例:

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

當上述代碼被編譯和履行時,它發生了以下成果:

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved