среда, 2 января 2019 г.

Основы Go: константы

Константы

Константы объявляются как переменные, но с помощью ключевого слова const.

Константы могут иметь символьные, строковые, булевые или числовые значения.

Константы не могут быть объявлены с помощью синтаксиса :=.

package main

import "fmt"

const Pi = 3.14

func main() {
    const World = "блог"
    fmt.Println("Hello", World)
    fmt.Println("Happy", Pi, "Day")

    const Truth = true
    fmt.Println("Go rules?", Truth)
}

Вывод:

Hello блог
Happy 3.14 Day
Go rules? true

Числовые константы

Числовые константы это значения высокой точности.

Нетипизированная константа принимает тип, необходимый в ее контексте.

package main

import "fmt"

const (
    // Создаем большое число, 
    // сдвигая 1 бит влево на 100 позиций.
    // Другими словами, бинарное число 
    // состоящее из 1 и 100 нулей следом.
    Big = 1 << 100
    // Сдвигаем вправо снова 99 позиций, 
    // таким образом мы получим 1<<1, или 2.
    Small = Big >> 99
)

func needInt(x int) int { return x*10 + 1 }
func needFloat(x float64) float64 {
    return x * 0.1
}

func main() {
    fmt.Println(needInt(Small))
    fmt.Println(needFloat(Small))
    fmt.Println(needFloat(Big))
}

Вывод:

21
0.2
1.2676506002282295e+29


Читайте также:


Комментариев нет:

Отправить комментарий