¿Qué es Constante o Const en Golang ? Esto es lo que necesita saber sobre el uso de constantes en Go .
Como sugiere el nombre, constante significa fijo. Lo mismo ocurre en los lenguajes de programación, es decir, una vez que se define el valor de una constante, no se puede modificar más. Puede haber cualquier tipo de datos básico de constante, como una constante entera, una constante dinámica, una constante de carácter o una cadena.

Cómo declarar: Las constantes se declaran como variables, pero utilizan la palabra clave const como prefijo para declarar constantes con un tipo de datos específico. Las constantes no se pueden declarar utilizando la sintaxis “: = ”.
Por ejemplo:
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)
}
Resultado:
Hello Quantrimang
Happy 3.14 Day
Go rules? true
Cosas que debes saber sobre las constantes en Golang
Constantes numéricas sin tipo y con tipo
Las constantes tipificadas se comportan como variables inmutables que solo pueden interactuar con los mismos tipos, y las constantes sin tipo se comportan como constantes literales que pueden interactuar con tipos similares. Las constantes se pueden declarar con o sin tipo en Go. Los siguientes ejemplos muestran constantes numéricas tipificadas y no tipificadas, con nombre y sin nombre.
const untypedInteger = 123
const untypedFloating = 123.12
const typedInteger int = 123
const typedFloatingPoint float64 = 123.12
Aquí está la lista de constantes en el lenguaje Go:
- Constantes (constantes enteras, constantes dinámicas, constantes complejas)
- Cadena de caracteres
- constante booleana
Constante numérica
Las constantes numéricas son valores con alta precisión. Debido a que Go es un lenguaje tipado estáticamente, no permite operaciones que combinen tipos numéricos. No puedes agregar float64a int, ni siquiera int32a int. Sin embargo, sigue siendo válido escribir 1e6*time.Secondo math.Exp(1)o incluso 1<>. En Go, las constantes, a diferencia de las variables, se comportan como números regulares.
Las constantes numéricas son de tres tipos:
- entero
- punto flotante
- complejo
Constante entera:
- El prefijo especifica la base: 0x o 0X para hexadecimal, 0 para octal y nada para decimal.
- Un literal entero también puede tener un sufijo que es una combinación de U (mayúscula) y L (minúscula), para unsigned y long respectivamente.
- Puede ser una constante decimal, octal o hexadecimal.
- Un int puede almacenar hasta un entero de 64 bits y, a veces, menos.
A continuación se muestran algunos ejemplos de constantes enteras:
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ố */
Constantes complejas:
Las constantes complejas funcionan de manera muy similar a las constantes de punto flotante. Es un par ordenado o par real de constantes enteras (o parámetros). Y las constantes se separan por comas y los pares de números se colocan entre paréntesis. La primera constante es la parte real y la segunda constante es la parte imaginaria. Una constante compleja, COMPLEX*8, utiliza 8 bytes de almacenamiento.
Por ejemplo:
(0.0, 0.0) (-123.456E+30, 987.654E-29)
Constante de tipo dinámico:
- Las constantes de números reales tienen una parte entera, una parte decimal, una parte fraccionaria y una parte exponencial.
- Puede representarse como una constante real en forma decimal o exponencial.
- Cuando se expresa en forma decimal, debe incluir un punto decimal, un exponente o ambos.
- Y cuando se expresa en forma exponencial, debe incluir una parte entera, una parte fraccionaria o ambas.
Por ejemplo:
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ố */
Cadena de caracteres
- Go admite dos tipos de literales de cadena, es decir
” ”(estilo de comillas dobles) y ‘ ‘(estilo de comillas inversas).
- Las cadenas se pueden concatenar con los operadores
+y +=.
- Las cadenas contienen caracteres similares a los caracteres literales: caracteres simples, secuencias de escape y caracteres universales. Y este es un personaje sin estilo.
- El valor cero de los tipos de cadena es la cadena vacía, que puede representarse mediante
” ”o ”en literales.
- Todos los tipos de cadenas se pueden comparar utilizando operadores como
==, !=y (para comparar tipos similares)
Sintaxis:
kiểu _string struct {
các phần tử *byte // các byte cơ bản
len int // số byte
}
Por ejemplo:
"hello, quantrimang"
"hello, \
quantrimang"
"hello, " "quan" "trimang"
Aquí, las tres afirmaciones son iguales, es decir, no tienen ningún tipo específico.
Por ejemplo:
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)="">
Resultado:
GFG Quantrimang!
true
false
Complejidad temporal: O(1)
Espacio auxiliar: O(1)
constante booleana
Las constantes booleanas son similares a las constantes de cadena. Aplica las mismas reglas que las constantes de cadena. La única diferencia es que tiene dos const sin tipo truey 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)
}
Resultado:
true
true
Complejidad temporal: O(1)
Espacio auxiliar: O(1)
Constantes en Go: Go tiene constantes de caracteres, cadenas, booleanas y numéricas. Const declara un valor constante. Una declaración constpuede ocurrir cuando hay una variable y, por lo tanto, realizar operaciones aritméticas sin ninguna precisión fija.
// 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))
}
Resultado:
Quantrimang
6e+09
6000000000
-0.9589242746631385
Complejidad temporal: O(1)
Espacio auxiliar: O(1)
Si desea definir varias constantes a la vez, puede hacerlo utilizando un bloque de paréntesis como se muestra a continuación.
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)
}
Resultado:
value of GFG : Quantrimang
value of Correct : true
value of Pi : 3.14