Как использовать константы в Golang

Что такое Constant или Const в Golang ? Вот что вам нужно знать об использовании констант в Go .

Как следует из названия, константа означает фиксированный. То же самое справедливо и для языков программирования: как только значение константы определено, его нельзя изменить дальше. Может быть любой базовый тип данных константы, например целочисленная константа, динамическая константа, символьная константа или строка.

Как использовать константы в Golang

Как объявить: Константы объявляются как переменные, но используют ключевое слово const в качестве префикса для объявления констант с определенным типом данных. Константы нельзя объявлять с использованием синтаксиса «: = ».

Например:

package main

import "fmt"

const PI = 3.14

func main() 
{
	const GFG = "Quantrimang"
	fmt.Println("Hello", GFG)

	fmt.Println("Happy", PI, "Day")

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

Результат:

Hello Quantrimang
Happy 3.14 Day
Go rules? true

Что нужно знать о константах в Golang

Числовые константы без типа и с типом

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

const untypedInteger          = 123
const untypedFloating          = 123.12

const typedInteger  int             = 123
const typedFloatingPoint   float64  = 123.12

Вот список констант в языке Go:

  • Константы (целочисленные константы, динамические константы, комплексные константы)
  • Строка символов
  • Булева константа

Числовая константа

Числовые константы — это значения с высокой точностью. Поскольку Go является статически типизированным языком, он не допускает операций, объединяющих числовые типы. Вы не можете добавить float64к intили даже int32к int. Однако по-прежнему допустимо писать 1e6*time.Secondили math.Exp(1)или даже 1<>. В Go константы, в отличие от переменных, ведут себя как обычные числа.

Числовые константы бывают трех типов:

  1. целое число
  2. плавающая точка
  3. сложный

Целая константа:

  • Префикс определяет основание: 0x или 0X для шестнадцатеричной системы, 0 для восьмеричной и ничего для десятичной.
  • Целочисленный литерал также может иметь суффикс, представляющий собой комбинацию букв U (заглавных) и L (строчных), для unsigned и long соответственно.
  • Это может быть десятичная, восьмеричная или шестнадцатеричная константа.
  • Тип int может хранить целые числа длиной до 64 бит, а иногда и меньше.

Вот несколько примеров целочисленных констант:

85 /* thập phân */
0213 /* bát phân */
0x4b /* thập lục phân */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
212 /* Hợp lệ */
215u /* Hợp lệ */
0xFeeL /* Hợp lệ */
078 /* Không hợp lệ: 8 không phải là chữ số bát phân */
032UU /* Không hợp lệ: không thể lặp lại hậu tố */

Комплексные константы:

Комплексные константы работают очень похоже на константы с плавающей точкой. Это упорядоченная пара или действительная пара целочисленных констант (или параметров). Константы разделяются запятыми, а пары чисел заключаются в скобки. Первая константа — это действительная часть, а вторая константа — мнимая часть. Комплексная константа COMPLEX*8 использует 8 байт памяти.

Например:

(0.0, 0.0) (-123.456E+30, 987.654E-29)

Константа динамического типа:

  • Действительные числовые константы имеют целую часть, десятичную часть, дробную часть и экспоненциальную часть.
  • Может быть представлена ​​как действительная константа в десятичной или экспоненциальной форме.
  • При выражении в десятичной форме оно должно включать десятичную точку, показатель степени или и то, и другое.
  • А если выразить его в экспоненциальной форме, то оно должно включать целую часть, дробную часть или обе части.

Например:

3.14159 /* Hợp lệ */
314159E-5L /* Hợp lệ */
510E /* Không hợp lệ: số mũ không đầy đủ */
210f /* Không hợp lệ: không có số thập phân hoặc số mũ */
.e55 /* Không hợp lệ: thiếu số nguyên hoặc phân số */

Строка символов

  • Go поддерживает два типа строковых литералов: ” ”(стиль двойных кавычек) и ‘ ‘(стиль обратных кавычек).
  • Строки можно объединять с помощью операторов +и +=.
  • Строки содержат символы, похожие на литеральные символы: простые символы, управляющие последовательности и универсальные символы. И это персонаж без стиля.
  • Нулевое значение строковых типов — это пустая строка, которая может быть представлена ​​литералами ” ”или ”в них.
  • Все типы строк можно сравнивать с помощью таких операторов, как ==, !=и (для сравнения похожих типов)

Синтаксис:

kiểu _string struct {
các phần tử *byte // các byte cơ bản
len int // số byte
}

Например:

"hello, quantrimang" 

"hello, \ 

quantrimang" 

"hello, " "quan" "trimang" 

Здесь все три утверждения одинаковы, то есть не имеют какого-либо определенного типа.

Например:

package main

import "fmt"

func main()
{
	const A = "GFG"
	var B = "GeeksforGeeks"
	
	// Chuỗi Concat.
	var helloWorld = A+ " " + B
	helloWorld += "!"
	fmt.Println(helloWorld) 
	
	// Chuỗi so sánh.
	fmt.Println(A == "GFG") 
	fmt.Println(B < a)="">

Результат:

GFG Quantrimang!
true
false

Временная сложность: O(1)
Вспомогательное пространство: O(1)

Булева константа

Булевы константы аналогичны строковым константам. К нему применяются те же правила, что и к строковым константам. Единственное отличие в том, что у него есть две константы без типа trueи false.

package main

import "fmt"

const Pi = 3.14

func main() 
{
	const trueConst = true
	
	// Định nghĩa kiểu bằng từ khóa type
	type myBool bool 
	var defaultBool = trueConst // được phép
	var customBool myBool = trueConst // được phép
	
	// defaultBool = customBool // không được phép
	fmt.Println(defaultBool)
	fmt.Println(customBool) 
}

Результат:

true
true

Временная сложность: O(1)
Вспомогательное пространство: O(1)

Константы в Go: в Go есть символьные, строковые, логические и числовые константы. Const объявляет постоянное значение. Оператор constможет иметь место при наличии переменной и, таким образом, выполнять арифметические операции без какой-либо фиксированной точности.

// Minh họa hằng số bằng cách dùng go.
package main

import (
	"fmt"
	"math"
)

const s string = "Quantrimang"

func main() {
	fmt.Println(s)

	const n = 5

	const d = 3e10 / n
	fmt.Println(d)

	fmt.Println(int64(d))

	fmt.Println(math.Sin(n))
}

Результат:

Quantrimang
6e+09
6000000000
-0.9589242746631385

Временная сложность: O(1)
Вспомогательное пространство: O(1)

Если вы хотите определить несколько констант одновременно, вы можете сделать это с помощью блока скобок, как показано ниже.

package main

import "fmt"

const (
	GFG	 = "Quantrimang"
	Correct = true
	Pi	 = 3.14
)

// Hàm chính
func main() {

	fmt.Println("value of GFG : ", GFG)

	fmt.Println("value of Correct : ", Correct)

	fmt.Println("value of Pi : ", Pi)
}

Результат:

value of GFG :  Quantrimang
value of Correct :  true
value of Pi :  3.14

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

Втянет ли Европа в гипотетическую ядерную войну между США, Израилем и Ираном? Объяснение правил НАТО.

Втянет ли Европа в гипотетическую ядерную войну между США, Израилем и Ираном? Объяснение правил НАТО.

Руководство по статьям 4 и 5 НАТО, правилам самообороны ООН и объяснение того, почему консультации не означают автоматического вступления Европы в войну.

Может ли Иран уже обладать ядерным оружием? Как интерпретировать доказательства.

Может ли Иран уже обладать ядерным оружием? Как интерпретировать доказательства.

Оцените утверждения об Иране в шесть этапов, различая обогащение урана, разработку оружия и подтвержденное обладание им.

Ядерные структуры США и Израиля: что на самом деле объясняют общедоступные источники.

Ядерные структуры США и Израиля: что на самом деле объясняют общедоступные источники.

Понимание полномочий по принятию решений в ядерной сфере в шесть этапов, включая контроль со стороны гражданского населения США и ограничения общедоступной информации об Израиле.

Ормузский пролив в 2026 году: что говорят официальные источники о перебоях в судоходстве.

Ормузский пролив в 2026 году: что говорят официальные источники о перебоях в судоходстве.

Справочник по официальным данным о сбоях в судоходстве в Ормузском проливе в 2026 году, заявлениям, связанным с Ираном, подтвержденным инцидентам и тому, что остается неясным.

Может ли гипотетический ядерный удар США и Израиля по Ирану привести к Третьей мировой войне?

Может ли гипотетический ядерный удар США и Израиля по Ирану привести к Третьей мировой войне?

Основанное на источниках руководство по рискам ядерной эскалации, правилам Устава ООН и статье 5 НАТО в строго гипотетическом сценарии с Ираном.

Как подготовиться к гипотетическому отключению электроэнергии, вызванному электромагнитным импульсом: 5 шагов для гражданских лиц.

Как подготовиться к гипотетическому отключению электроэнергии, вызванному электромагнитным импульсом: 5 шагов для гражданских лиц.

Для подготовки к отключению электроэнергии используйте пять шагов; сценарии, связанные с ядерным взрывом и электромагнитным импульсом, являются гипотетическими, и в первую очередь необходимо следовать официальным инструкциям по размещению в убежищах.

Как оценить киберугрозы, не предполагая Третью мировую войну: пошаговое руководство из 5 шагов.

Как оценить киберугрозы, не предполагая Третью мировую войну: пошаговое руководство из 5 шагов.

Используйте 5 защитных шагов для подтверждения кибернарушения, защиты учетных записей домохозяйств и предотвращения ошибочного принятия отключения электроэнергии за войну.

Ядерная зима: как оценить глобальные климатические последствия гипотетического удара по Ирану.

Используйте эти 5 шагов, чтобы оценить климатические последствия гипотетического удара Ирана, сравнить допущения моделей и избежать необоснованных прогнозов.

Сколько времени может потребоваться Земле для восстановления после гипотетической ядерной войны?

Сколько времени может потребоваться Земле для восстановления после гипотетической ядерной войны?

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

Контрольный список мер по подготовке к ядерным осадкам: необходимые припасы и шаги по обустройству убежища.

Контрольный список мер по подготовке к ядерным осадкам: необходимые припасы и шаги по обустройству убежища.

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