Šioje pamokoje sužinosite apie simbolių ir eilučių naudojimą „Swift“. Taip pat sužinosite įvairių operacijų, kurias galima atlikti su eilutėmis ir simboliais.
Kas yra personažas?
Simbolis yra vienas simbolis (raidė, skaičius ir kt.). „Swift“ simbolis yra Character
tipo ir yra deklaruojamas kaip:
tegul someCharacter: Charakteris
Kaip deklaruoti ir priskirti „Swift“ veikėją?
Galite priskirti vertę tipo personažai pačiu kaip Styginių naudojant dvigubų kabučių " "
, tačiau ji turėtų būti tik vieną simbolį viduje kabučių " "
.
Jei reikia įtraukti daugiau nei vieną simbolį, turite jį apibrėžti String
vietoj Character
.
1 pavyzdys: simbolio deklaravimas ir priskyrimas
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Kai paleisite programą, išvestis bus:
H @
2 pavyzdys: daugiau nei vieno simbolio priskyrimas (neveikia)
Bet jei pabandysite simbolio viduje priskirti du simbolius kaip
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Kai bandysite paleisti pirmiau nurodytą kodą, gausite klaidą kaip:
Negalima konvertuoti eilutės tipo vertės į simbolį.
Simbolio kūrimas naudojant „unicode“ ir „escape“ seką
Taip pat galite sukurti specialų simbolių tipą. „Unicode“ galite sukurti naudodami pabėgimo seką u (n) („unicode“ kodo taškas, n yra šešioliktainis).
3 pavyzdys: Unicode simbolio sukūrimas
let heartShape:Character = "u(2665)" print(heartShape)
Kai paleisite programą, išvestis bus:
♥
Ankstesniame pavyzdyje širdies formos simbolis buvo sukurtas iš kodo U+2665
. Nors u(2665)
kompiliatorius yra įtrauktas į dvigubas kabutes, kompiliatorius to nelaiko tuo, String
kad mes naudojome pabėgimo seką u(n)
. Pabėgimo seka neatspindi savęs, kai įtraukiama į pažodinį.
Kas yra stygos?
Stygos yra tiesiog simbolių rinkinys. „Swift“ stygos yra tokio String
tipo ir deklaruojamos kaip:
tegul someString: Stygos
Kaip deklaruoti ir priskirti „Swift“ eilutę?
Naudodami eilutės literalus, vertę galite priskirti eilutės tipu. String literal yra simbolių rinkinys, apsuptas dvigubomis kabutėmis " "
.
4 pavyzdys: eilutės deklaravimas ir priskyrimas
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Kai paleisite programą, išvestis bus:
Labas pasauli! Aš myliu Swift.
Čia tiek "Hello, world!"
ir "I love Swift."
yra eilutės, naudojamos kurti styginių kintamieji atitinkamai someString ir someMessage.
Stygos operacijos
„String“ yra keletas integruotų funkcijų ir ypatybių, skirtų tvarkyti dažniausiai naudojamas operacijas. Pvz .: norėdami sujungti eilutes, pakeiskite ją į didžiąsias arba rašykite didžiosiomis raidėmis. Panagrinėkime keletą toliau dažnai naudojamų operacijų:
Styginių palyginimas
Galite paprasčiausiai patikrinti, ar dvi eilutės yra lygios, ar nenaudodami palyginimo operatoriaus (==)
. Operatorius grąžina grąžą, true
jei abi eilutės yra lygios, kitaip jis grįžta false
.
5 pavyzdys: Stygų palyginimas programoje „Swift“
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Kai paleisite programą, išvestis bus:
melas, tiesa
Styginių sujungimas
Dviejų skirtingų eilučių vertė gali būti pridėta kartu su pridėjimo operatoriumi (+)
arba naudojant sudėtinio priskyrimo operatorių (+=)
. Taip pat galite pridėti simbolį / eilutę eilutėje naudodami append
metodą.
6 pavyzdys: Styginių sujungimas sistemoje „Swift“
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Kai paleisite programą, išvestis bus:
Sveiki, pasauli Sveiki, pasauli!
Pirmiau pateiktoje programoje mes sukūrėme eilutės rezultatą, pridėdami „helloStr“ ir „worldStr“ naudodami + operatorių. Taigi, print(result)
išveda Hello, World ekrane.
Taip pat galite pridėti bet kurį simbolį ar eilutę naudodami append
metodą. eilutės pabaigoje result.append("!")
prideda !
simbolį. Taigi, print(result)
rezultatai Sveiki, pasauli! ekrane.
Styginių sujungimas naudojant išplėstinį priskyrimo operatorių
We can also use advanced assignment operator (+=) to append string.
Example 7: String concatenation using += operator
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
When you run the program, the output will be:
Hello, World!
Notice the use of var instead of let in helloStr. If you have defined helloStr a constant using let, you cannot change it later using the +=
operator and eventually get an error. So, you have to define helloStr a variable.
String Interpolation
It is a simple process of evaluating a string literal that consists of variables, constants etc. Imagine you have player’s name and score stored in two constants as:
let playerName = "Jack" let playerScore = 99
Now you need to display a message to the player as "Congratulations Jack!. Your highest score is 99." Here, you need to a way to use the values of the constants in a single string.
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
Ši funkcija nustato, ar eilutė prasideda nuo tam tikrų simbolių, ar ne, ir pateikia loginę reikšmę. Jis grąžinamas, true
jei eilutės priešdėlis sutampa su pateikta reikšme, priešingu atveju false
.
13 pavyzdys: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Kai paleisite programą, išvestis bus:
tiesa melaginga
6. hasSuffix
Ši funkcija nustato, ar eilutė baigiasi tam tikrais simboliais, ar ne, ir pateikia loginę vertę. Jis grąžinamas, true
jei eilutės priesaga sutampa su pateikta reikšme, priešingu atveju false
.
14 pavyzdys: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Kai paleisite programą, išvestis bus:
tiesa melaginga