variables de idioma Ir creados en cinco formas

Sólo para la experiencia del lenguaje Python de un amigo, no puede entender la declaración de la palabra, en Python usa directamente al uso, no declaran qué tipo de.

Ir idioma se escribe de forma estática idioma, a su debido tiempo de compilación, el compilador comprueba el tipo de una variable, se requiere que todas las variables deben tener un tipo claro.

Antes de utilizar las variables, tenemos que declarar. tipo declarado, se ha acordado que sólo se puede asignar un valor a una variable de ese tipo.

Hay cuatro formas de declarar en general, los dos primeros de los cuales también se pueden utilizar para definir constantes, palabras clave, simplemente varse convierten constpuede ser.

La primera : una fila para declarar una variable

var <name> <type>

En el que la palabra clave var (fijo), el nombre es el nombre de la variable, tipo es el tipo.

Var utilizado, aunque sólo el tipo especificado, pero implícitamente Ir será inicializado, tales como tipo de cadena se inicializa a una cadena vacía, tipo int se inicializa a 0, flotador inicializado a 0,0, tipo bool se inicializa en falso, un puntero escriba inicializado a cero.

Si desea procesar en un comunicado, por cierto también inicializado, se puede escribir esto

var name sting = "Python编程时光"

Ir código completo en el archivo son los siguientes, a fin de no escribir código repetitivo, seguimiento completo ya no está unido al código, basta con pegar el código de la llave

package main

import "fmt"

func main()  {
	var name string = "Python编程时光"
	fmt.Println(name)
}

El valor del punto de vista de la derecha (valor de lado derecho, valor p), es obviamente un tipo de cadena (aquí para señalar que, entre comillas simples y comillas dobles equivalente Python, pero en Ir comillas dobles e individuales no son lo mismo, aquí Asegúrese de usar comillas dobles indican una cadena, entre comillas simples indican los tipos de caracteres rúnicos, la siguiente descripción será separado), y por lo tanto puede ser reducido a

var name = "Python编程时光"

Si los valores de la derecha con un punto decimal, en el caso no especifican un tipo, el compilador pondrá su variable se declara como float64, pero en muchos casos, no necesitamos una alta precisión tales (mayor espacio de memoria ocupado)

En este caso, se recomienda especificar el tipo, no ser perezoso

var rate float32 0.89

El segundo : declarar múltiples variables juntas

Declarar múltiples variables, además de una pluralidad de filas puede escribirse de acuerdo con lo anterior, pero también se puede escribir como sigue

var (
	name string
	age int
	gender string
)

Tercero : declarar e inicializar una variable

El uso :=(o una breve declaración escrita comunicado derivación tipo de método: El compilador inferir automáticamente el valor del tipo correcto del tipo correspondiente del valor de la izquierda), puede declarar una variable, y (explícita) para inicializar ellos.

name := "Python编程时光"

// 等价于

var name string = "Python编程时光"

// 等价于

var name = "Python编程时光"

Sin embargo, este método tiene limitaciones que sólo pueden utilizarse para las funciones internas

La cuarta : declarar e inicializar variables múltiples

name, age := "wangbm", 28

Este método se utiliza a menudo para variables de intercambio

var a int = 100
var b int = 200
b, a = a, b

Quinto : nueva función para declarar una variable de puntero

Aquí para hablar sobre el contenido relevante primer puntero.

Dos tipos de variables 普通变量y指针变量

variable común, los datos se almacenan en sí, y un puntero se almacena en los datos de dirección variable.

El siguiente código, una variable común es la edad, el contenido se almacena 28, y el valor de ptr variable edad se encuentra en la dirección de memoria: 0xc000010098

package main

import "fmt"

func main()  {
	var age int = 28
	var ptr = &age  // &后面接变量名,表示取出该变量的内存地址
	fmt.Println("age: ", age)
	fmt.Println("ptr: ", ptr)
}

exportación

age:  28
ptr:  0xc000010098

Y aquí dice nueva función es una función incorporada en Ir.

Utilizar la expresión nueva (Tipo) creará un tipo anónimo tipo de variable se inicializa al valor cero del tipo tipo, y luego regresar a la dirección del puntero tipo de retorno variable es *Type.

package main

import "fmt"

func main()  {
	ptr := new(int)
	fmt.Println("ptr address: ", ptr)
	fmt.Println("ptr value: ", *ptr)  // * 后面接指针变量,表示从内存地址中取出值
}

exportación

ptr address:  0xc000010098
ptr value:  0

La creación de variables y de forma común para crear de declaraciones de la variable no es diferente con el nuevo, además de no necesitar declarar un nombre de variable temporal, también podemos utilizar el nuevo (Tipo) en la expresión. En otras palabras, de forma similar a la nueva función es un azúcar sintáctico, en lugar de un nuevo concepto de fundación.

Sigue dos vías, se puede decir que son equivalentes

// 使用 new
func newInt() *int {
    return new(int)
}

// 使用传统的方式
func newInt() *int {
    var dummy int
    return &dummy
}

Independientemente de los métodos anteriores, las variables / constantes se pueden declarar sólo una vez, repetidamente declarado, el compilador generará un error.

Pero hay excepciones, que llega a una determinada variable: variable de anonimato , también conocido como un marcador de posición, o identificador en blanco, subrayados.

Anónimo variables, hay tres ventajas:

  • No asignar memoria, no ocupan espacio en la memoria
  • No es necesario dar nombres y variables maraña inútil
  • declaraciones repetidas no tendrán ningún problema

Por lo general, tenemos que aceptar la recepción en el anonimato, pero no va a ser el valor usado.

func GetData() (int, int) {
    return 100, 200
}
func main(){
    a, _ := GetData()
    _, b := GetData()
    fmt.Println(a, b)
}

Supongo que te gusta

Origin www.cnblogs.com/wongbingming/p/12570895.html
Recomendado
Clasificación