Брзи ликови и жице (са примерима)

У овом упутству ћете научити о употреби знакова и низова у Свифту. Такође ћете научити различите операције које се могу изводити на жицама и знаковима.

Шта је лик?

Карактер је један симбол (слово, број итд.). Карактер у брзом су Characterтипа и декларише се као:

 нека некаКарактер: Карактер

Како пријавити и доделити лик у Свифту?

Можете доделити вредност у типу знака исто као и низ користећи двоструке наводнике, " "али она треба да садржи само један знак унутар наводника " ".

Ако је потребно да уврстите више знакова, Stringуместо њега треба да га дефинишете Character.

Пример 1: Декларисање и додељивање карактера

 let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)

Када покренете програм, излаз ће бити:

 Х @

Пример 2: Додељивање више знакова (не ради)

Али ако покушате да доделите два симбола унутар знака као

 /* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter) 

Када покушате да покренете горњи код, добићете грешку као:

 Није могуће претворити вредност типа Стринг у знак.

Креирање карактера помоћу Уницоде и есцапе секвенце

Такође можете да направите посебну врсту знакова за нпр. Емоји сличице помоћу уницода. Можете створити Уницоде користећи излазну секвенцу у (н) (уницоде кодна тачка, н је у хексадецималном облику).

Пример 3: Креирање Уницоде карактера

 let heartShape:Character = "u(2665)" print(heartShape) 

Када покренете програм, излаз ће бити:

У горњем примеру, лик у облику срца је створен од кода U+2665. Иако u(2665)је укључен у двоструке наводнике, компајлер га не третира као Stringзато што смо користили есцапе секвенцу u(n). Секвенца за излазак не представља себе када је укључена у литерал.

Шта је низ?

Низ је једноставно скуп знакова. Низови у Свифту су Stringтипа и декларисани су као:

 лет сомеСтринг: Стринг

Како прогласити и доделити низ у Свифту?

Можете доделити вредност у типу Стринг користећи стринг литерале. Знаковни низ је скуп знакова окружен двоструким наводницима " ".

Пример 4: Декларисање и додељивање низа

 let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)

Када покренете програм, излаз ће бити:

Здраво Свете! Волим Свифта.

Овде су оба "Hello, world!"и "I love Swift."стринг литерални знакови који се користе за креирање променљивих низа сомеСтринг односно сомеМессаге.

Операције на низу

У Стринг-у постоје неке уграђене функције и својства која се баве најчешће коришћеним операцијама. На пример: да бисте спојили низове, промените их у велика или велика слова. Истражимо неке од често коришћених операција у наставку:

Поређење низа

Једноставно можете да проверите да ли су две жице једнаке или не користећи оператор упоређивања (==). Оператор враћа ретурн trueако су оба низа једнака, у супротном се враћа false.

Пример 5: Поређење низа у Свифту

 let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage) 

Када покренете програм, излаз ће бити:

 лажно тачно

Спајање низова

Две различите вредности низа могу се додати заједно са оператором сабирања (+)или помоћу сложеног оператора доделе (+=). Такође можете додати знак / низ у низ помоћу appendметоде.

Пример 6: Спајање низова у Свифту

 let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result) 

Када покренете програм, излаз ће бити:

 Здраво, свет Здраво, свет!

У горе наведеном програму створили смо резултат низа додавањем хеллоСтр и ворлдСтр помоћу + оператора. Дакле, print(result)излази Добро, свет на екрану.

Такође можете додати било који знак или низ помоћу appendметоде. result.append("!")додаје !знак на крају низа. Дакле, print(result)излази Хелло, Ворлд! на екрану.

Спајање низова помоћу напредног оператора доделе

Такође можемо користити напредни оператор додељивања (+ =) за додавање низа.

Пример 7: Спајање низова помоћу оператора + =

 var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr) 

Када покренете програм, излаз ће бити:

 Здраво Свете!

Обратите пажњу на употребу вар уместо лет ин хеллоСтр. Ако сте дефинисали хеллоСтр константу помоћу лет, не можете је касније променити помоћу +=оператора и на крају ћете добити грешку. Дакле, морате дефинисати хеллоСтр променљиву.

Интерполација низа

То је једноставан поступак процене стринг литерала који се састоји од променљивих, константи итд. Замислите да имате име и резултат играча сачуване у две константе као:

 нека плаиерНаме = "Јацк" нека плаиерСцоре = 99

Сада требате играчу да прикажете поруку као "Честитамо Јацк!. Ваш највиши резултат је 99". Овде је потребан начин за коришћење вредности константи у једном низу.

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

Ова функција одређује започиње ли низ са одређеним знаковима или не и враћа логичку вредност. Враћа се trueако се префикс низа подудара са наведеном вредношћу, у супротном се враћа false.

Пример 13: хасПрефик ()

 let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell")) 

Када покренете програм, излаз ће бити:

 тачно нетачно 

6. хасСуффик

Ова функција одређује да ли се низ завршава одређеним знаковима или не и враћа логичку вредност. Враћа се trueако се суфикс низа подудара са наведеном вредношћу, у супротном се враћа false.

Пример 14: хасСуффик ()

 print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!")) 

Када покренете програм, излаз ће бити:

 тачно нетачно 

Занимљиви Чланци...