UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Operatori

Operatorii sunt acele mici simboluri pe care le-am învățat la școală în orele de matematică: + pentru adunare, - pentru scădere, * pentru înmulțire, / pentru împărțire, = pentru a atribui o valoare, și așa mai departe. Putem găsi toti acești operatori și în Swift, împreună cu încă câțiva.

Să încercăm ceva de bază – te rog adaugă asta în playground:

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

În panoul de rezultate vom vedea 10, 11, 10 și respectiv 100. Acum să încercăm asta:

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

+= este un operator care înseamnă "adaugă și apoi artibuie". În cazul nostru înseamnă "ia valoarea curentă a lui b, adun-o cu 10, apoi pune rezultatul înapoi în b". După cum îți poți imagina, -= face același lucru doar că scade în loc să adune. Deci, codul de mai sus va arăta 10, 20, 10 în panoul de rezultate.

Câțiva dintre acești operatori pot fi aplicați și altor tipuri de date. După cum iți poți imagina, putem aduna două numere de tip double astfel:

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

Când vine vorba de șiruri, + le va alătura. De exemplu:

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

Asta va arăta "Tim McGraw and Romeo" în panoul de rezultate.

Un alt operator comun pe care îl vom întâlnii se numeste "modulus" (modulo) și îl putem scrie folosind simbolul procent: %. Înseamnă "împarte numărul din stânga la numărul din dreapta, și dă-ne restul împărțirii". Deci, 9 % 3 întoarce 0 deoarece 9 este divizibil cu 3, în timp ce 10 % 3 întoarce 1, deoarece 10 se împarte la 3 de trei ori, cu restul 1.

Notă: Dacă ai cumpărat "Hacking with Swift" și folosești cartea ghid exclusivă care însoțește cursul, atunci vei vedea că operatorul modulus va deveni folositor mai târziu.

Operatori de comparație

Swift are un set de operatori care execută coparații între valori. De exemplu:

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

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

Mai sus putem vedea operatorii: mai mare (>), mai mare sau egal (>=) și mai mic (<). În panoul de rezultate vom vedea true, true, false, true – acestea sunt valori Bool, pentru că răspunsul la fiecare dintre aceste operații nu poate să fie decât adevărat sau fals.

Dacă vrem să verificăm egalitatea nu putem folosi = deoarece deja are un scop: e folosit pentru a artibui o valoare unei variabile. Așadar Swift ne oferă o alternativă: ==, care înseamnă "este egal cu". De exemplu:

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

Asta va arăta true în panoul de rezultate. Un lucru care ar putea să te dea peste cap este că în Swift șirurile sunt case-sensitive (diferențiază literele mari și mici), ceea ce înseamnă că "Tim McGraw", "TIM MCGRAW" și "TiM mCgRaW" sunt considerate ca fiind diferite. Dacă folosim == pentru a compara două șiruri, trebuie să ne asigurăm că au aceleași tip de litere (mari sau mici).

Există un ultim operator pe care vreau să ți-l introduc, operatorul "not": !. Da, este doar un semn al exclamării. Acesta face ca o instrucțiune să însemne opusul ei. De exemplu:

var stayOutTooLate = true
stayOutTooLate
!stayOutTooLate

Asta va printa true, true, false – ultima valoare este opusul true-ului anterior.

De asemenea, putem folosi ! cu = pentru a face != sau "diferit de". De exemplu:

var name = "Tim McGraw"
name == "Tim McGraw"
name != "Tim McGraw"
Hacking with Swift is sponsored by RevenueCat

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI 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 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 Beyond Code

Was this page useful? Let us know!

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.