Числа
Числа тоже можно определять прямо в программном коде.
Это еще проще, чем определять строковые литералы: просто введите нужное число.
Как вы вскоре увидите, в языке 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 Строка— последовательность данных, которые обычно представляют символы текста