Основы Go

Теория: Константы

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

Константы в Go объявляются с помощью ключевого слова const. Синтаксис:

const name type = value

Тип указывать не обязательно — он будет выведен автоматически:

const greeting = "Hello, Hexlet"
const age = 10

Несколько констант можно объединить в один блок:

const (
	StatusOK       = 200
	StatusNotFound = 404
)

Публичность и приватность

Как и функции, переменные и другие идентификаторы, первая буква имени влияет на область видимости:

const (
	// экспортируемая (публичная) константа — доступна из других пакетов
	StatusOK = 200

	// неэкспортируемая (приватная) — доступна только внутри текущего пакета
	statusInternalError = 500
)

Область видимости

Константы могут быть объявлены как на уровне пакета, так и внутри функции:

package main

import "fmt"

const defaultStatus = 200 // пакетная область

func main() {
	const status = 404 // локальная область

	fmt.Println(defaultStatus) // => 200
	fmt.Println(status)        // => 404
}

Автоматическая нумерация с iota

Если нужно создать набор последовательных чисел, можно использовать iota. Это встроенный идентификатор, значение которого увеличивается на единицу в рамках блока const.

const (
	RoleGuest = iota // 0
	RoleUser         // 1
	RoleAdmin        // 2
	RoleSuperAdmin   // 3
)

Рекомендуемые программы