Понимание констант в Golang

Beginner

This tutorial is from open-source community. Access the source code

Введение

Этот лабораторный проект旨在测试您对 Golang 中常量的理解。

Константы

Проблема, которую необходимо решить, - это демонстрация использования констант в Golang для значений символов, строк, логических и числовых типов.

В лабораторном проекте имеются следующие требования:

  • Использовать ключевое слово const для объявления константного значения.
  • Константы должны быть значениями символов, строк, логических и числовых типов.
  • Константное объявление может появляться в любом месте, где может появляться объявление var.
  • Показать, что константные выражения выполняют арифметические операции с произвольной точностью.
  • Числовая константа не имеет типа, пока не будет присвоен какой-либо, например, с помощью явного преобразования.
  • Числу можно присвоить тип, используя его в контексте, требующем определенного типа, например, при присвоении переменной или вызове функции.
$ go run constant.go
constant
6e+11
600000000000
-0.28470407323754404

Ниже представлен полный код:

// Go поддерживает _константы_ для значений символов, строк, логических
// и числовых типов.

package main

import (
    "fmt"
    "math"
)

// `const` объявляет константное значение.
const s string = "constant"

func main() {
    fmt.Println(s)

    // Константное объявление может появляться в любом месте, где может
    // появляться объявление `var`.
    const n = 500000000

    // Константные выражения выполняют арифметические операции с
    // произвольной точностью.
    const d = 3e20 / n
    fmt.Println(d)

    // Числовая константа не имеет типа, пока не будет присвоен какой-либо,
    // например, с помощью явного преобразования.
    fmt.Println(int64(d))

    // Числу можно присвоить тип, используя его в контексте, требующем
    // определенного типа, например, при вызове функции. Например, здесь
    // `math.Sin` ожидает `float64`.
    fmt.Println(math.Sin(n))
}

Резюме

В этом лабораторном проекте вы узнали, как объявлять и использовать константы в Golang. Константы могут быть значениями символов, строк, логических и числовых типов. Константные выражения выполняют арифметические операции с произвольной точностью. Числовая константа не имеет типа, пока не будет присвоен какой-либо, например, с помощью явного преобразования.