Happy file Ir constantes de idioma

Ir a las constantes del idioma

Una constante es un identificador de un valor simple, una cantidad que no se modificará mientras se ejecuta el programa.

Los tipos de datos en las constantes solo pueden ser booleanos, numéricos (entero, punto flotante y complejo) y cadena.

El formato de definición de una constante:

const identifier [type] = value

Puede omitir el especificador de tipo [tipo] porque el compilador puede inferir el tipo de la variable a partir de su valor.

  • Definición de tipo explícito: const b string = "abc"
  • Definición de tipo implícito: const b = "abc"

Varias declaraciones del mismo tipo se pueden abreviar como:

const c_name1, c_name2 = value1, value2

El siguiente ejemplo demuestra el uso de constantes:

ejemplo

paquete principal

importar "fmt"

func main() { const LENGTH int = 10 const WIDTH int = 5 var area int const a, b, c = 1, false, "str" ​​​​//asignación múltiple



área = LARGO * ANCHO
fmt.Printf("El área es: %d", área)
println()
println(a, b, c)
}

El resultado de ejecutar el ejemplo anterior es:


面积为 : 50
1 false str

Las constantes también se pueden usar como enumeraciones:


const (
    Unknown = 0
    Female = 1
    Male = 2
)

Los números 0, 1 y 2 representan género desconocido, femenino y masculino, respectivamente.

Las constantes pueden usar las funciones len(), cap(), unsafe.Sizeof() para evaluar expresiones. En una expresión constante, la función debe ser una función integrada; de lo contrario, no se compilará:

ejemplo

paquete principal

importar
const "no seguro" (
a = "abc"
b = len(a)
c = no seguro. Tamaño de(a)
)

función principal(){ println(a, b, c) }

El resultado de ejecutar el ejemplo anterior es:


abc 3 16

iota

iota, una constante especial, se puede considerar como una constante que el compilador puede modificar.

iota se restablecerá a 0 cuando aparezca la palabra clave const (antes de la primera línea dentro de const), y cada nueva línea de declaración constante en const hará que iota cuente una vez (iota puede entenderse como el índice de fila en el bloque de declaración const).

iota se puede utilizar como valor de enumeración:


const (
    a = iota
    b = iota
    c = iota
)

El primer iota es igual a 0, y su valor aumentará automáticamente en 1 cada vez que se use iota en una nueva línea; por lo tanto, a=0, b=1, c=2 se puede abreviar de la siguiente manera:


const (
    a = iota
    b
    c
)

uso de iota

ejemplo

paquete principal

importar "fmt"

func main() { const ( a = iota //0 b //1 c //2 d = "ha" //valor independiente, iota += 1 e //"ha" iota += 1 f = 100 // iota +=1 g //100 iota +=1 h = iota //7, reanudar la cuenta i //8 ) fmt.Println(a,b,c,d,e,f,g,h,i) }












El resultado de ejecutar el ejemplo anterior es:


0 1 2 ha ha 100 100 7 8

Mira otro ejemplo interesante de iota:

ejemplo

paquete principal

importar constante "fmt"
(
i=1<<iota
j=3<<iota
k
l
)

función principal() { fmt.Println("i=",i) fmt.Println("j=",j) fmt.Println("k=",k) fmt.Println("l=",l) }




El resultado de ejecutar el ejemplo anterior es:


i= 1
j= 6
k= 12
l= 24

iota significa sumar automáticamente 1 desde 0, entonces i=1<<0, j=3<<1 (<< significa  desplazamiento a la izquierda), es decir: i=1, j=6, esto no es problema, la clave es k Y l, a partir de los resultados de salida, k=3<<2, l=3<<3.

Declaración sencilla:

  • i=1 : desplaza 0 bits a la izquierda y permanece 1 sin cambios.
  • j=3  : se desplaza 1 bit a la izquierda y se convierte en binario  110 , es decir, 6.
  • k=3  : se desplaza a la izquierda 2 bits y se convierte en  1100 binario , es decir, 12.
  • l=3  : se desplaza a la izquierda 3 bits y se convierte en binario  11000 , es decir, 24.

注:<<n==*(2^n)。

Supongo que te gusta

Origin blog.csdn.net/weixin_46626339/article/details/129563282
Recomendado
Clasificación