We used some operators so far in our code examples, like =, := and <.

Let’s talk a bit more about them.

We have assignment operators = and := we use to declare and initialize variables:

var a = 1

b := 1


We have comparison operators == and != that take 2 arguments and return a boolean

var num = 1
num == 1 //true
num != 1 //false


and <, <=, >, >=:

var num = 1
num > 1 //false
num >= 1 //true
num < 1 //false
num <= 1 //true


We have binary (require two arguments) arithmetic operators, like +, -, *, /, %.

1 + 1 //2
1 - 1 //0
1 * 2 //2
2 / 2 //1
2 % 2 //0


+ can also join strings:

"a" + "b" //"ab"


We have unary operators ++ and -- to increment or decrement a number:

var num = 1
num++ // num == 2
num-- // num == 1


Note that unlike C or JavaScript we can’t prepend them to a number like ++num. Also, the operation does not return any value.

We have boolean operators that help us with making decisions based on true and false values: &&, || and !

true && true  //true
true && false //false
true || false //true
false || false //false
!true  //false
!false //true


Those are the main ones.