// DOCS NAVIGATION
Operadores_
SOURCE: content/docs/reference/02-fundamentos.md — 02 Fundamentos / 5. Operadores / Operators
Operadores Aritméticos / Arithmetic Operators
| Operador / Operator | Operação / Operation | Tipos / Types | Exemplo / Example |
|---|---|---|---|
+ | Adição / Addition | int, float, string+string | 3 + 4 → 7 |
- | Subtração / Subtraction | int, float | 10 - 3 → 7 |
* | Multiplicação / Multiplication | int, float | 3 * 4 → 12 |
/ | Divisão / Division | int, float | 10 / 3 → 3 (int) |
% | Módulo (resto) / Modulo (remainder) | int, float | 10 % 3 → 1 |
let a = 10
let b = 3
let soma = a + b
// 13
let diff = a - b
// 7
let prod = a * b
// 30
let quoc = a / b
// 3 (divisão inteira / integer division)
let resto = a % b
// 1
// Com floats / With floats
let x = 10.0
let y = 3.0
let div_float = x / y
// 3.333...
Nota / Note: Divisão entre dois
inté divisão inteira (trunca). Usefloatpara divisão decimal.
Division between twoints is integer division (truncates). Usefloatfor decimal division.
Operadores de Comparação / Comparison Operators
PT-BR:
Todos os operadores de comparação retornam bool.
EN-US:
All comparison operators return bool.
| Operador / Operator | Significado / Meaning | Exemplo / Example |
|---|---|---|
== | Igual a / Equal to | 5 == 5 → true |
!= | Diferente de / Not equal to | 5 != 3 → true |
< | Menor que / Less than | 3 < 5 → true |
> | Maior que / Greater than | 5 > 3 → true |
<= | Menor ou igual / Less or equal | 3 <= 3 → true |
>= | Maior ou igual / Greater or equal | 5 >= 3 → true |
let x = 10
let y = 20
let igual = x == y
// false
let dif = x != y
// true
let menor = x < y
// true
let maior = x > y
// false
let men_ig = x <= 10
// true
let mai_ig = y >= 20
// true
Operadores Lógicos / Logical Operators
| Operador / Operator | Significado / Meaning | Exemplo / Example |
|---|---|---|
&& | E lógico / Logical AND | true && false → false |
|| | Ou lógico / Logical OR | true || false → true |
! | Negação lógica / Logical NOT | !true → false |
let a = true
let b = false
let e = a && b
// false
let ou = a || b
// true
let nao_a = not a
// false
let nao_b = not b
// true
// Condições compostas / Compound conditions
let x = 5
if x > 0 && x < 10 {
// x está entre 1 e 9 / x is between 1 and 9
}
Operadores Unários / Unary Operators
| Operador / Operator | Significado / Meaning | Tipo / Type | Exemplo / Example |
|---|---|---|---|
- | Negação aritmética / Arithmetic negation | int, float | -x, -3.14 |
! | Negação lógica / Logical negation | bool | !flag |
let positivo = 42
let negativo = -positivo
// -42
let verdadeiro = true
let falso = not verdadeiro
// false
Operadores de Intervalo / Range Operators
| Operador / Operator | Tipo / Type | Exemplo / Example |
|---|---|---|
.. | Exclusivo (não inclui o fim) / Exclusive (excludes end) | 0..5 → 0,1,2,3,4 |
..= | Inclusivo (inclui o fim) / Inclusive (includes end) | 1..=5 → 1,2,3,4,5 |
// Usados principalmente em for loops / Mainly used in for loops
for i in 0..5 {
// i = 0, 1, 2, 3, 4
}
for i in 1..=5 {
// i = 1, 2, 3, 4, 5
}
// Ranges também podem ser armazenados / Ranges can also be stored
let r = 0..10
let r_inc = 1..=100
Precedência de Operadores / Operator Precedence
PT-BR:
Da maior para a menor precedência (operadores mais acima são avaliados primeiro):
EN-US:
From highest to lowest precedence (operators higher up are evaluated first):
| Nível / Level | Operadores / Operators |
|---|---|
| 1 (mais alto / highest) | ! (unário), - (unário) |
| 2 | *, /, % |
| 3 | +, - (binário) |
| 4 | <, >, <=, >= |
| 5 | ==, != |
| 6 | && |
| 7 (mais baixo / lowest) | || |
let resultado = 2 + 3 * 4
// 14 (não 20 / not 20)
let resultado2 = (2 + 3) * 4
// 20
let cond = x > 0 && y < 10
// comparações antes de && / comparisons before &&