Арифметические операции
Язык Go как и все другие языки программирования поддерживает основные арифметические операции над числами. Список поддерживаемых арифметических операций:
Сложение
package main
import "fmt"
func main() {
var a = 2
var b = 2
var c = a + b
fmt.Println(c) // 4
}
Вычитание
package main
import "fmt"
func main() {
var a = 5
var b = 5
var c = a - b
fmt.Println(c) // 0
}
Умножение
package main
import "fmt"
func main() {
var a = 5
var b = 5
var c = a * b
fmt.Println(c) // 25
}
Деление
func main() {
var a int = 5
var b int = 2
var c int = a / b
fmt.Println(c) // 2
var d float32 = 5
var e float32 = 2
var f float32 = d / e
fmt.Println(f) // 2.5
}
Следует учесть тот факт, что если в операции учавствуют два целых числа, то результат деления будет округлятся до целого числа:
var a int = 5
var b int = 2
var c int = a / b // 2.5 округляется (!) в меньшую сторону до 2
Для того, чтобы получить в результате деления вещественное число, как минимум один из операндов также должен представлять собой вещественное число и результат мы должны при этом тоже сохранять в переменную вещественного типа:
package main
import "fmt"
func main() {
var g float32 = 7.0 / 2
fmt.Println(g) // 3.5
}
Существует также операция "остаток от деления" (%), которая, извините за тавтологию, возварщает остаток от деления. Стоит учесть тот факт, что в этой операции могут принимать только целочисленные операнды (целые числа). Например, с помощью этой арифметической операции проверяют четность/нечетность числа:
package main
import "fmt"
func main() {
var a int = 4 % 2
fmt.Println(a) // 0, т.к. число 4 - четное (4 - (2*2) = 0)
var b int = 3 % 2
fmt.Println(b) // 1, (3 - 2 = 1), число нечетное
}
Также, почти во всех языках программирования существуют такие операции как постфиксные инркемент (a++) и (b--). Golang не исключение. Постфиксный инкремент (a++) увеличивает значение переменной на единицу:
var a int = 1
a++
fmt.Println(a) // 2
A постфиксный декремент (b--) уменьшает значение переменной на единицу:
var b int = 10
b--
fmt.Println(b) // 9