Latest web development tutorials

Ir variables lingüísticas

Variable de las matemáticas, lenguajes de programación se puede almacenar o resultados calculados se puede representar la abstracción valor. Las variables se pueden acceder a través del nombre de la variable.

los nombres de variables lingüísticas ir constan de letras, números, guiones, de las cuales la primera letra no es numérico.

La forma general de una variable se declara con la palabra clave var:

var identifier type

Declaración de variables

En primer lugar, especificar el tipo de variable, la declaración si la asignación, utilice el valor predeterminado.

var v_name v_type
v_name = value

La segunda, en función del valor de tipos de variables de autodeterminación.

var v_name = value

En tercer lugar, omitiendo var, nota: Variable = Izquierda no debe ser declarada en su lugar, si no causará un error de compilación.

v_name := value

// 例如
var a int = 10
var b = 10
c : = 10

Ejemplos son los siguientes:

package main
var a = "w3cschool本教程"
var b string = "w3cschool.cc"
var c bool

func main(){
    println(a, b, c)
}

Los ejemplos anteriores Aplicación de los resultados:

w3cschool本教程 w3cschool.cc false

declaración de variables múltiples

//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3

var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断

vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,否则会导致编译错误


// 这种因式分解关键字的写法一般用于声明全局变量
var (
    vname1 v_type1
    vname2 v_type2
)

Ejemplos son los siguientes:

package main

var x, y int
var (  // 这种因式分解关键字的写法一般用于声明全局变量
    a int
    b bool
)

var c, d int = 1, 2
var e, f = 123, "hello"

//这种不带声明格式的只能在函数体中出现
//g, h := 123, "hello"

func main(){
    g, h := 123, "hello"
    println(x, y, a, b, c, d, e, f, g, h)
}

Los ejemplos anteriores Aplicación de los resultados:

0 0 0 false 1 2 123 hello 123 hello

Los tipos de valor y tipos de referencia

Todos como int, float, bool y la cadena de estos tipos básicos son todos los tipos de valor, el uso de estos tipos de variables directamente al valor almacenado en la memoria:

Cuando se utiliza el signo igual = cuando se asigna el valor de una variable a otra, como por ejemplo: j = i , es de hecho el valor de la memoria i será una copia de:

Usted puede obtener la dirección de memoria de la variable i + i, por ejemplo: 0xf840000040 (cada dirección puede ser diferente). Valor almacenado tipo valor de la variable en la pila.

Dirección de memoria variará en función de la máquina, o incluso el mismo programa en diferentes máquinas después de la ejecución tendrá diferentes direcciones de memoria. Debido a que cada máquina puede tener un diseño de memoria diferente, y una asignación de posición puede variar.

Más datos complejos a menudo requiere el uso de múltiples palabras, estos datos se almacenan generalmente usando un tipo de referencia.

Una variable de tipo de referencia r1 r1 es el valor almacenado en la dirección de memoria donde se encuentra el (digital), o la posición de la dirección de memoria de la primera palabra.

La dirección de memoria se llama un puntero que era en realidad hay otra palabra.

Con referencia a una pluralidad de tipos de puntero de palabra puede estar en las direcciones de memoria contiguos (diseño de memoria es continua), que es un cálculo de la forma más eficiente de almacenamiento, los cuales también se pueden almacenar en palabras de memoria dispersa, cada una palabra indica que la próxima dirección de memoria de la palabra.

Cuando se copia el r2 = r1 instrucción de asignación, sólo referencias (dirección).

Si se cambia el valor r1, entonces el valor de todas las citas se modificará a punto, en este caso, r2 también se verá afectada.


forma corta, utilice el operador: =

Sabemos que se puede inferir automáticamente el tipo de una variable se inicializa se omite la variable del sistema, la declaración escrita en la palabra clave declaración var en realidad es un poco redundante, para que podamos ser ellos abreviada como: = 50 ó b: = false.

a y b (tipo int y bool) será deducido automáticamente compilador.

Esta es la forma preferida del uso de variables, pero sólo puede ser utilizado en el cuerpo de la función, no se puede utilizar para declarar con la asignación de las variables globales. Utilice los operadores: = pueden crear de manera eficiente una nueva variable llamada declaración de inicialización.

precauciones

Si el mismo bloque de código, no se puede volver a utilizar el mismo nombre para una declaración de inicialización de variables, por ejemplo: a: = 20 no está permitido, el compilador mostrará un error no hay nuevas variables en el lado izquierdo de: =, sino una = 20 es posible, ya que es a la misma variable se le asigna un valor nuevo.

Si lo usa antes de definir la variable a, obtendrá un error de compilación sin definir: a.

Si se declara una variable local, pero no se utiliza en el mismo bloque de código en él, obtendrá un error de compilación, como el siguiente ejemplo que la variable a:

func main() {
   var a string = "abc"
   fmt.Println("hello, world")
}

Intente compilar el código obtendrá el errorde una declarada y no se utiliza.

Además, para dar una asignación simple no es suficiente, se debe utilizar este valor, por lo que su uso

fmt.Println("hello, world", a)

Se eliminará errores.

Sin embargo, las variables globales se declaran pero no se les permite usar.

>

Múltiples variables del mismo tipo se pueden declarar en la misma línea, tales como:

var a, b, c int

Más variables se pueden asignar en la misma línea, tales como:

a, b, c = 5, 7, "abc"

La línea anterior supone que las variables a, byc se han declarado, de lo contrario, se debe utilizar la siguiente manera:

a, b, c := 5, 7, "abc"

Estos valores están a la derecha en el mismo orden asignado a la variable de la izquierda, de modo que un valor es 5, b valor es 7, el valor de c es "abc".

Esta asignación se llama paralelo o simultáneamente.

Si desea intercambiar los valores de dos variables, puede simplemente usar a, b = b, a.

identificador blanco _ también se utiliza valores desechados, tales como el valor de 5: _, b = 5, 7 fue abandonado.

_ En realidad una variable de sólo escritura, no se puede obtener su valor. Ir a hacer esto porque el idioma en el que debe utilizar todas las variables se declaran, pero a veces no es necesario utilizar todos los valores de retorno de una función obtenida.

asignación paralela también se utiliza como una función de devolver múltiples valores de retorno, como Val y err error aquí se obtiene simultáneamente llamando a la función Func1: val, err = Func1 (Q1).