สตริงสวิฟท์
สวิฟท์เป็นชุดของสตริงของตัวอักษร ตัวอย่างเช่นชุดของค่าของพิมพ์ตัวอักษร "Hello World!"ดังนั้นคำสั่งของชนิดข้อมูลสตริง
สร้างสตริง
คุณสามารถสร้างอินสแตนซ์ของสตริงโดยใช้สตริงตัวอักษรหรือสตริงระดับ:
import Cocoa // 使用字符串字面量 var stringA = "Hello, World!" print( stringA ) // String 实例化 var stringB = String("Hello, World!") print( stringB )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
Hello, World! Hello, World!
สตริงที่ว่างเปล่า
คุณสามารถใช้สตริงตัวอักษรที่ว่างเปล่ากำหนดให้กับตัวแปรหรือเริ่มต้นเช่นการเรียนสตริงไปที่ค่าเริ่มต้นของสตริงที่ว่างเปล่า เราสามารถใช้คุณสมบัติสตริง isEmpty เพื่อตรวจสอบว่าสตริงว่างเปล่า:
import Cocoa // 使用字符串字面量创建空字符串 var stringA = "" if stringA.isEmpty { print( "stringA 是空的" ) } else { print( "stringA 不是空的" ) } // 实例化 String 类来创建空字符串 let stringB = String() if stringB.isEmpty { print( "stringB 是空的" ) } else { print( "stringB 不是空的" ) }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
stringA 是空的 stringB 是空的
ค่าคงที่สตริง
คุณสามารถกำหนดสตริงกับตัวแปรหรือคงที่สามารถปรับเปลี่ยนได้คงไม่สามารถแก้ไขได้
import Cocoa // stringA 可被修改 var stringA = "本教程:" stringA += "http://www.w3big.com" print( stringA ) // stringB 不能修改 let stringB = String("本教程:") stringB += "http://www.w3big.com" print( stringB )
การส่งออกของข้อผิดพลาดการทำงานของโปรแกรมดังกล่าวข้างต้นจะส่งผลที่ stringB คงไม่สามารถแก้ไขได้:
error: left side of mutating operator isn't mutable: 'stringB' is a 'let' constant stringB += "http://www.w3big.com"
ใส่ค่าสตริง
สตริงแก้ไขเป็นวิธีการใหม่ในการสร้างสตริงที่สามารถมีค่าคงที่ตัวแปรตัวอักษรและการแสดงออกอยู่ในนั้น แต่ละแทรกตัวอักษรของสตริงของคุณจะมีคำนำหน้าด้วยเครื่องหมายทับขวาในวงเล็บ:
import Cocoa var varA = 20 let constA = 100 var varC:Float = 20.0 var stringA = "\(varA) 乘于 \(constA) 等于 \(varC * 100)" print( stringA )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
20 乘于 100 等于 2000.0
concatenation สตริง
สตริงสามารถเชื่อมต่อกันด้วยเครื่องหมาย + ตัวอย่างดังต่อไปนี้:
import Cocoa let constA = "本教程:" let constB = "http://www.w3big.com" var stringA = constA + constB print( stringA )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
本教程:http://www.w3big.com
ความยาวสาย
ความยาวสายจะคำนวณโดยใช้คุณสมบัติString.characters.count ตัวอย่างดังต่อไปนี้:
import Cocoa var varA = "www.w3big.com" print( "\(varA), 长度为 \(varA.characters.count)" )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
www.w3big.com, 长度为 14
เปรียบเทียบสตริง
คุณสามารถใช้== เพื่อเปรียบเทียบสองสายมีค่าเท่ากัน:
import Cocoa var varA = "Hello, Swift!" var varB = "Hello, World!" if varA == varB { print( "\(varA) 与 \(varB) 是相等的" ) } else { print( "\(varA) 与 \(varB) 是不相等的" ) }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
Hello, Swift! 与 Hello, World! 是不相等的
สตริง Unicode
Unicode เป็นมาตรฐานสากลสำหรับการเข้ารหัสข้อความสวิฟท์ชนิดสตริงจะขึ้นอยู่กับ Unicode สร้างขึ้น คุณสามารถห่วงซ้ำเข้ารหัสสตริง UTF-8 และ UTF-16 ตัวอย่างมีดังนี้:
import Cocoa var unicodeString = "本教程" print("UTF-8 编码: ") for code in unicodeString.utf8 { print("\(code) ") } print("\n") print("UTF-16 编码: ") for code in unicodeString.utf16 { print("\(code) ") }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
UTF-8 编码: 232 143 156 233 184 159 230 149 153 231 168 139 UTF-16 编码: 33756 40479 25945 31243
ฟังก์ชั่นสตริงและผู้ประกอบการ
สวิฟท์สนับสนุนฟังก์ชั่นสตริงต่อไปและผู้ประกอบการ:
เลขที่ | ฟังก์ชั่น / ผู้ปฏิบัติงานและคำอธิบาย |
---|---|
1 | isEmpty เพื่อตรวจสอบว่าสตริงว่างก็จะส่งกลับค่าบูลีน |
2 | hasPrefix (คำนำหน้า: String) ตรวจสอบว่าสตริงมีคำนำหน้าเฉพาะ |
3 | hasSuffix (คำต่อท้าย: String) ตรวจสอบว่าสตริงมีคำต่อท้ายที่เฉพาะเจาะจง |
4 | int (สตริง) ดิจิตอลแปลงสตริงเป็นจำนวนเต็ม ตัวอย่าง: let myString: String = "256" let myInt: Int? = Int(myString) |
5 | String.characters.count การคำนวณความยาวของสตริง |
6 | utf8 คุณสามารถเข้าถึงได้ด้วยการเดินการเข้ารหัส UTF-8 ของทรัพย์สินสตริง UTF8 |
7 | UTF16 คุณสามารถเข้าถึงได้ด้วยการเดินการเข้ารหัส UTF-16 ของทรัพย์สิน utf8 สตริง |
8 | unicodeScalars คุณสามารถเข้าถึงได้ด้วยการเดินเข้ารหัส Unicode unicodeScalars เกลาค่าแอตทริบิวต์ String |
9 | + เชื่อมสองสายและส่งกลับสตริงใหม่ |
10 | + = ทั้งสองด้านของผู้ประกอบการสตริงและผู้ประกอบการใหม่ที่กำหนดให้กับตัวแปรสตริงทางด้านซ้าย |
11 | == ตรวจสอบว่ามีสองสายมีค่าเท่ากัน |
12 | < เปรียบเทียบสองสายสองสายของตัวอักษรโดยด้านการเปรียบเทียบ |
13 | ! = เปรียบเทียบสองสตริง? จะไม่เท่ากัน |