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"

LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!

MASTER SWIFT NOW
Buy Testing Swift Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!