Dalam tutorial ini, anda akan belajar mengenai penggunaan watak dan rentetan dalam Swift. Anda juga akan mempelajari operasi yang berbeza yang dapat dilakukan pada rentetan dan watak.
Apakah watak itu?
Watak adalah simbol tunggal (huruf, nombor, dll.). Karakter dalam pantas adalah Character
jenis dan dinyatakan sebagai:
biarkan beberapaCharacter: Character
Bagaimana cara menyatakan dan memberikan watak dalam Swift?
Anda boleh memberikan nilai dalam jenis Karakter sama dengan String menggunakan tanda petik berganda " "
tetapi seharusnya hanya mengandungi satu karakter di dalam petikan " "
.
Jika anda perlu memasukkan lebih daripada satu watak anda perlu menentukan ia String
bukan Character
.
Contoh 1: Menyatakan dan memberikan watak
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Semasa anda menjalankan program, outputnya adalah:
H @
Contoh 2: Menetapkan lebih daripada satu watak (Tidak berfungsi)
Tetapi jika anda cuba memberikan dua simbol di dalam watak sebagai
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Apabila anda cuba menjalankan kod di atas, anda akan mendapat ralat seperti:
Tidak dapat menukar nilai jenis String ke Character.
Membuat watak menggunakan urutan unicode dan melarikan diri
Anda juga boleh membuat watak khas untuk emoji.eg menggunakan unikod. Anda boleh membuat unicode menggunakan urutan pelarian u (n) (titik kod unicode, n adalah dalam heksadesimal).
Contoh 3: Membuat watak unicode
let heartShape:Character = "u(2665)" print(heartShape)
Semasa anda menjalankan program, outputnya adalah:
♥
Dalam contoh di atas, watak bentuk hati dibuat dari kod U+2665
. Walaupun u(2665)
termasuk dalam tanda kutip ganda, penyusun tidak menganggapnya String
kerana kami menggunakan urutan melarikan diri u(n)
. Urutan melarikan diri tidak mewakili dirinya ketika dimasukkan dalam literal.
Apa itu tali?
Rentetan hanyalah kumpulan watak. String dalam Swift adalah String
jenis dan dinyatakan sebagai:
biarkan beberapaString: Rentetan
Bagaimana cara menyatakan dan memberikan rentetan di Swift?
Anda boleh memberikan nilai dalam jenis String menggunakan literal string. Huruf rentas adalah kumpulan watak yang dikelilingi dengan tanda petik ganda " "
.
Contoh 4: Menyatakan dan memberikan rentetan
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Semasa anda menjalankan program, outputnya adalah:
Hai dunia! Saya suka Swift.
Di sini, kedua "Hello, world!"
- duanya dan "I love Swift."
literal string digunakan untuk membuat pemboleh ubah rentetan masing-masing String dan beberapaMesej
Operasi pada rentetan
Terdapat beberapa fungsi dan harta bawaan di String untuk menangani operasi yang paling kerap digunakan. Contohnya: untuk menggabungkan rentetan, ubahnya menjadi huruf besar atau huruf besarnya. Mari terokai beberapa operasi yang sering digunakan di bawah:
Perbandingan tali
Anda boleh memeriksa sama ada dua tali sama atau tidak menggunakan operator perbandingan (==)
. Pengendali mengembalikan pulangan true
jika kedua-dua rentetan sama, jika tidak, ia kembali false
.
Contoh 5: Perbandingan rentetan dalam Swift
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Semasa anda menjalankan program, outputnya adalah:
salah, benar
Gabungan rentetan
Dua nilai rentetan yang berbeza dapat ditambahkan bersama dengan operator penambahan (+)
atau menggunakan operator penugasan kompaun (+=)
. Anda juga dapat menambahkan karakter / string dalam string menggunakan append
kaedah.
Contoh 6: Gabungan rentetan dalam Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Semasa anda menjalankan program, outputnya adalah:
Helo, Dunia Hello, Dunia!
Dalam program di atas, kami membuat hasil rentetan dengan menambahkan helloStr dan worldStr menggunakan + operator. Jadi, print(result)
mengeluarkan Hello, World di skrin.
Anda juga boleh menambahkan watak atau rentetan menggunakan append
kaedah. result.append("!")
menambahkan !
watak di hujung rentetan. Jadi, print(result)
keluaran Hello, World! di skrin.
Gabungan rentetan menggunakan operator tugasan lanjutan
Kami juga dapat menggunakan operator tugas lanjutan (+ =) untuk menambahkan rentetan.
Contoh 7: Gabungan rentetan menggunakan operator + =
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
Semasa anda menjalankan program, outputnya adalah:
Hai dunia!
Perhatikan penggunaan var dan bukannya membiarkan helloStr. Sekiranya anda telah menentukan helloStr pemalar menggunakan let, anda tidak boleh mengubahnya kemudian menggunakan +=
operator dan akhirnya mendapat ralat. Jadi, anda harus menentukan helloStr pemboleh ubah.
Interpolasi Rentetan
Ini adalah proses mudah untuk menilai literal string yang terdiri daripada pemboleh ubah, pemalar dll. Bayangkan anda mempunyai nama pemain dan skor disimpan dalam dua pemalar seperti:
biarkan pemainName = "Jack" biarkan pemainScore = 99
Sekarang anda perlu memaparkan mesej kepada pemain sebagai "Tahniah Jack !. Skor tertinggi anda adalah 99." Di sini, anda memerlukan kaedah untuk menggunakan nilai pemalar dalam satu rentetan.
This can be achieved using string concatenation as:
let congratsMessage = "Congratulations " + playerName + "!. Your highest score is " + playerScore + "." print(congratsMessage)
However, you can see this can get messy pretty soon. You have to take care of the spaces after the word Congratulations
, is
. Also, if you have to use more than two constants/variables, it will get unreadable.
There’s an easier way to display the message using string interpolation. Interpolation is the process to include value of a variable or constant inside string literal.
The variable or constant that should insert into the string literal is wrapped in a pair of parentheses ( )
, prefixed by a backslash ()
.
Example 8: String interpolation in Swift
let playerName = "Jack" let playerScore = 99 let congratsMessage = "Congratulations (playerName)!. Your highest score is (playerScore)." print(congratsMessage)
When you run the program, the output will be:
Congratulations Jack!. Your highest score is 99.
Some helpful built-in String functions & variables:
1. isEmpty
This function determines if a string is empty or not. It returns true
if the string is empty otherwise, it returns false
.
Example 9: isEmpty
var emptyString = "" print(emptyString.isEmpty)
When you run the program, the output will be:
true
2. capitalized
This property is used to capitalize every word in a string.
Example 10: capitalized
let someString = "hello, world!" print(someString.capitalized)
When you run the program, the output will be:
Hello, World!
3. uppercased and lowercased
The uppercased function converts string to uppercase letter and the lowercased function converts string to lowercase letter.
Example 11: uppercased() and lowercased()
let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased())
When you run the program, the output will be:
HELLO, WORLD! hello, world!
4. Length/count
This property is used to count the total number of characters in a string.
Example 12: count
let someString = "Hello, World!" print(someString.count)
When you run the program, the output will be:
13
5. hasPrefix
Fungsi ini menentukan sama ada rentetan bermula dengan watak tertentu atau tidak dan mengembalikan nilai boolean. Ia kembali true
jika awalan rentetan sesuai dengan nilai yang diberikan sebaliknya akan kembali false
.
Contoh 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Semasa anda menjalankan program, outputnya adalah:
betul salah
6. hasSuffix
Fungsi ini menentukan sama ada rentetan berakhir dengan watak tertentu atau tidak dan mengembalikan nilai boolean. Ia kembali true
jika akhiran rentetan sesuai dengan nilai yang diberikan sebaliknya akan kembali false
.
Contoh 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Semasa anda menjalankan program, outputnya adalah:
betul salah