Brzi likovi i žice (s primjerima)

U ovom vodiču naučit ćete o upotrebi znakova i nizova u Swiftu. Također ćete naučiti različite operacije koje se mogu izvoditi na žicama i znakovima.

Što je lik?

Znak je jedan simbol (slovo, broj itd.). Znakovi u brzini su Charactertipa i deklariraju se kao:

 neka nekaKarakter: Lik

Kako prijaviti i dodijeliti lik u Swiftu?

Možete dodijeliti vrijednost u vrsti znaka isto kao i string pomoću dvostrukih navodnika, " "ali unutar navodnika treba sadržavati samo jedan znak" " .

Ako trebate uključiti više od jednog znaka, trebate ga definirati Stringumjesto Character.

Primjer 1: Deklariranje i dodjeljivanje znaka

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

Kada pokrenete program, izlaz će biti:

 H @

Primjer 2: Dodjela više od jednog znaka (ne radi)

Ali ako pokušate dodijeliti dva simbola unutar znaka kao

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

Kada pokušate pokrenuti gornji kod, dobit ćete pogrešku kao:

 Nije moguće pretvoriti vrijednost tipa String u znak.

Stvaranje lika pomoću unicode i escape sekvence

Također možete stvoriti posebnu vrstu znakova za npr. Emojije pomoću unicoda. Možete stvoriti unicode pomoću izlazne sekvence u (n) (unicode kodna točka, n je u heksadecimalnom obliku).

Primjer 3: Stvaranje unicode znaka

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

Kada pokrenete program, izlaz će biti:

U gornjem primjeru iz koda je stvoren lik u obliku srca U+2665. Iako u(2665)je uključen u dvostruke navodnike, kompajler ga ne tretira kao Stringzato što smo koristili escape sekvencu u(n). Izbjegavajući niz ne predstavlja sam sebe kad je uključen u doslovno.

Što je niz?

Niz je jednostavno skup znakova. Žice u Swiftu su Stringtipa i deklarirane su kao:

 neka someString: String

Kako prijaviti i dodijeliti niz u Swiftu?

Vrijednost u tipu String možete dodijeliti pomoću string literala. Znakovni niz je skup znakova okružen dvostrukim navodnicima " ".

Primjer 4: Deklariranje i dodjeljivanje niza

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

Kada pokrenete program, izlaz će biti:

Pozdrav svijete! Volim Swifta.

Ovdje su i, "Hello, world!"i "I love Swift."string znakovni literali korišteni za stvaranje niznih varijabli someString odnosno someMessage.

Operacije na nizu

U Stringu postoje neke ugrađene funkcije i svojstva za rješavanje najčešće korištenih operacija. Na primjer: da biste spojili nizove, promijenite ih u velika ili velika slova. Istražimo neke često korištene operacije u nastavku:

Usporedba nizova

Jednostavno možete provjeriti jesu li dva niza jednaka ili ne pomoću operatora usporedbe (==). Operator vraća return trueako su oba niza jednaka, inače se vraća false.

Primjer 5: Usporedba nizova u Swiftu

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

Kada pokrenete program, izlaz će biti:

 lažno istinito

Spajanje nizova

Dvije različite vrijednosti niza mogu se dodati zajedno s operatorom zbrajanja (+)ili pomoću složenog operatora dodjele (+=). Također možete dodati znak / niz u niz pomoću appendmetode.

Primjer 6: Spajanje nizova u Swiftu

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

Kada pokrenete program, izlaz će biti:

 Pozdrav, svijet Pozdrav, svijet!

U gore navedenom programu stvorili smo rezultat niza dodavanjem helloStr i worldStr pomoću + operatora. Dakle, na ekranu se print(result)prikazuje Hello, World .

Također možete dodati bilo koji znak ili niz pomoću appendmetode. result.append("!")dodaje !znak na kraju niza. Dakle, print(result)izlazi Hello, World! na ekranu.

Spajanje nizova pomoću naprednog operatora dodjele

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

Ova funkcija određuje započinje li niz s određenim znakovima ili ne i vraća logičku vrijednost. Vraća se trueako se prefiks niza podudara s navedenom vrijednošću, u suprotnom se vraća false.

Primjer 13: hasPrefix ()

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

Kada pokrenete program, izlaz će biti:

 točno netočno 

6. imaSuffix

Ova funkcija određuje završava li niz određenim znakovima ili ne i vraća logičku vrijednost. Vraća se trueako se sufiks niza podudara s navedenom vrijednošću, u suprotnom se vraća false.

Primjer 14: hasSuffix ()

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

Kada pokrenete program, izlaz će biti:

 točno netočno 

Zanimljivi članci...