Рубрики
go

007 / go mat / Числа / Математические операции и сравнения / типы значений

Числа

Числа тоже можно определять прямо в программном коде. 
Это еще проще, чем определять строковые литералы: просто введите нужное число.
 
Как вы вскоре увидите, в языке Go целые числа и числа с плавающей точкой интерпретируются как разные типы. 
Помните, что целое число можно отличить от числа с плавающей точкой по разделителю дробной части — точке.
 
Пример:
42 Целое число. int
3.1415 Число с плавающей точкой float
 
Пример в коде:
package main
import "fmt"
func main() {
fmt.Println(0, 3.1415)
}

Математические операции и сравнения

Основные математические операторы Go работают так же, как и в большинстве других языков. 
оператор + выполняет сложение
оператор - выполняет вычитание
оператор * — умножение
оператор / — деление
 
Пример кода:
package main
import "fmt"
func main() {
        fmt.Println("t1 + 2 =", 1+2, "nt5.4 - 2.2 =", 5.4-2.2, "nt3 * 4 =", 3*4, "nt7.5 / 5 =", 7.5/5)
}
 
 
 
При помощи операторов < и > можно сравнить два значения и проверить, какое из них больше другого. 
оператор == (два знака равенства) проверяет, что два значения равны
оператор != проверяет, что два значения не равны
оператор <= проверяет, что второе значение меньше или равно первому
оператор >= проверяет, что второе значение больше или равно первому
Результатом сравнения является логическое значение (true или false)
 
package main
import "fmt"
func main() {
        fmt.Println("t4 < 6 ttt", 4 < 6, "nt4 > 6 ttt", 4 > 6, "nt2 + 2 == 5 tt", 2+2 == 5, "nt2 + 2 !=5 tt", 2+2 != 5, "nt4 < = 6 tt", 4 <= 6, "nt4 >= 4ttt", 4 >= 4)
}

Узнаем типы значений

Чтобы узнать тип любого значения, передайте его функции TypeOf из пакета reflect. 
Давайте узнаем типы некоторых значений, которые уже встречались в примерах программ:
package main
import (
        "fmt"
        "reflect"
)
func main() {
        fmt.Println(reflect.TypeOf(42))
        fmt.Println(reflect.TypeOf(3.1234))
        fmt.Println(reflect.TypeOf(true))
        fmt.Println(reflect.TypeOf("Hello world"))
}
 
Типы:
int     Целое число (не имеющее дробной части)
float64 Число с плавающей точкой. 
        Тип используется для хранения чисел, имеющих дробную часть. 
        (Для хранения числа используются 64 бита данных, отсюда суффикс 64 в имени. 
        Значения типа float64 обеспечивают очень высокую, хотя и не бесконечную точность.)
bool    Логическое значение (true или false)
string  Строка— последовательность данных, которые обычно представляют символы текста