NEW: Join my free 100 Days of SwiftUI challenge today! >>

Operatory

Operatory to te małe symbole, o których uczyłeś się na jednej z pierwszych lekcji matematyki: + aby dodać, - aby odjąć, * aby pomnożyć, /, = aby przypisać wartość, itd. Wszystkie istnieją w języku Swift, dodatkowo z kilkoma innymi.

Zacznijmy od podstaw - napisz to proszę w swoim playgroundzie:

var a = 10
a = a + 1
a = a - 1
a = a * a

W prawym panelu z wynikami zauważysz 10, 11, 10 oraz 100. Teraz spróbuj napisać to:

var b = 10
b += 10
b -= 10

+= to operator, który oznacza "dodaj a potem przypisz do." W naszym przypadku znaczy to "weź aktualną wartość b, dodaj do niej 10, a następnie przypisz wynik spowrotem do b." Jak pewnie już się domyślasz, -= działa bardzo podobnie z tą różnicą, że wykonuje operację odejmowania zamiast dodawania. Rezultatem powyższego kodu będzie 10, 20, 10 w prawym panelu z wynikami.

Niektóre z tych operatorów można użyć również z innymi typami danych. Jak pewnie się domyślasz, możesz dodać dwie zmienne typu Double w taki sposób:

var a = 1.1
var b = 2.2
var c = a + b

Jeśli chodzi o zmienne typu String, operator + połączy je ze sobą, jak w przykładzie poniżej:

var name1 = "Tim McGraw"
var name2 = "Romeo"
var both = name1 + " and " + name2

Powyższy kod wypisze "Tim McGraw and Romeo" w panelu z wynikami.

Kolejnym powszechnym operatorem, z którym będziesz miał styczność jest modulo, a zapisuje się go używając symbolu %. Oznacza "podziel liczbę po lewej stronie po równo, liczbą po prawej stronie i zwróć resztę tego dzielenia." Więc 9 % 3 zwraca 0, ponieważ 3 dzieli po równo liczbę 9, natomiast 10 % 3 zwraca 1, ponieważ 3 dzieli 10 trzy razy a reszta jaka pozostaje z tego dzielenia to 1.

Uwaga: Jeśli zakupiłeś Hacking with Swift i używasz ekskluzywnego poradnika do tego kursu, operator modulo będzie dla Ciebie bardzo przydatny w przyszłości.

Operatory porównania

Język Swift posiada zestaw operatorów, które wykonują operację porównania pomiędzy wartościami. Na przykład:

var a = 1.1
var b = 2.2
var c = a + b

c > 3
c >= 3
c > 4
c < 4

Powyższy kod przedstawia operatory większe (>), większe równe (>=), mniejsze (<) oraz mniejsze równe (=<). W panelu z wynikami zobaczysz true, true, false, true - to wartości typu Bool, ponieważ wynikiem tych wyrażeń może być tylko prawda (true) lub fałsz (false).

Jeśli chcesz sprawdzić równość, nie możesz użyć symbolu =, ponieważ posiada on już inne znaczenie: jest używany przy operacji przypisania wartości do zmiennej. Język Swift posiada alternatywę w postaci symbolu ==, który oznacza "jest równe". Przykładowo:

var name = "Tim McGraw"
name == "Tim McGraw"

Powyższy kod wypisze true w panelu z wynikami. Fakt, który może Cię zaskoczyć to ten, że w języku Swift zmienne typu String są wrażliwe na wielkości liter. Oznacza to, że wartości tekstowe "Tim McGraw", "TIM MCGRAW" oraz "TiM mCgRaW" są traktowane jako różne. Jeśli użyjesz operatora == by porównać dwie zmienne typu String musisz się upewnić, że wielkości liter będą się w nich zgadzać.

Chciałbym przedstawić Ci jeszcze jeden operator. Jest nim operator negacji logicznej: !. Tak, to tylko wykrznik. Sprawia on, że wyrażenie przyjmuje wartość odwrotną do oryginalnej. Przykładowo:

var stayOutTooLate = true
stayOutTooLate
!stayOutTooLate

Powyższy kod wypisze true, true, false - ostatnia wartość wystąpiła właśnie poprzez użycie operatora !.

Możesz również użyć ! wraz z = aby utworzyć operator !=, który oznacza "nie równa się". Przykładowo:

var name = "Tim McGraw"
name == "Tim McGraw"
name != "Tim McGraw"

SPONSORED Instabug helps you identify and resolve severe crashes quickly. You can retrace in-app events and know exactly which line of code caused the crash along with environment details, network logs, repro steps, and the session profiler. Ask more questions or keep users up-to-date with in-app replies straight from your dashboard. Instabug takes data privacy seriously, so no one sees your data but you! See more detailed features comparison and try Instabug's crash reporting SDK for free.

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

Was this page useful? Let us know!