Latest web development tutorials

Vai variabili linguistiche

Variabile dalla matematica, linguaggi di programmazione può essere immagazzinata o risultati calcolati possono essere rappresentati valore di astrazione. Le variabili possono essere accessibili tramite il nome della variabile.

Vai lingua nomi delle variabili sono costituite da lettere, numeri, caratteri di sottolineatura, di cui la prima lettera non è numerico.

La forma generale di una variabile è dichiarata usando la parola chiave var:

var identifier type

dichiarazione di variabili

In primo luogo, specificare il tipo di variabile, la dichiarazione se l'assegnazione, utilizzare il valore predefinito.

var v_name v_type
v_name = value

La seconda, in base al valore dei tipi di variabili autodeterminazione.

var v_name = value

In terzo luogo, omettendo var, nota: Variabile = Sinistra non deve essere dichiarato al suo posto, altrimenti causerà un errore di compilazione.

v_name := value

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

Esempi sono i seguenti:

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

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

Gli esempi sopra riportati Attuazione dei risultati:

w3cschool本教程 w3cschool.cc false

dichiarazione Multivariable

//类型相同多个变量, 非全局变量
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
)

Esempi sono i seguenti:

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)
}

Gli esempi sopra riportati Attuazione dei risultati:

0 0 0 false 1 2 123 hello 123 hello

I tipi di valore e tipi di riferimento

Tutti come int, float, bool e la stringa di questi tipi di base sono tutti i tipi di valore, utilizzando questi tipi di variabili direttamente al valore memorizzato nella memoria:

Quando si utilizza il segno di uguale = quando il valore di una variabile viene assegnato a un'altra variabile, come ad esempio: j = i , è infatti il valore della memoria sarò una copia di:

È possibile ottenere l'indirizzo di memoria della variabile I & I, per esempio: 0xf840000040 (ogni indirizzo può essere diverso). Valore memorizzato tipo di valore variabile nello stack.

indirizzo di memoria variano a seconda della macchina, o anche lo stesso programma su macchine diverse dopo l'esecuzione avrà diversi indirizzi di memoria. Poiché ogni macchina può avere un layout memoria diversa, e un'assegnazione posizione può variare.

Ulteriori dati complessi spesso richiede l'utilizzo di più parole, questi dati sono generalmente memorizzati utilizzando un tipo di riferimento.

Una variabile di tipo riferimento r1 r1 è il valore memorizzato nell'indirizzo di memoria in cui si trova la (digitale), o la posizione dell'indirizzo di memoria della prima parola.

L'indirizzo di memoria si chiama un puntatore che era in realtà c'è un'altra sola parola.

Con riferimento ad una pluralità di tipi di puntatore parola può essere in indirizzi di memoria contigui (layout di memoria è continuo), che è un calcolo della forma più efficiente di stoccaggio, questi possono anche essere memorizzati in parole di memoria dispersi, ciascun una parola indica dove il prossimo indirizzo di memoria word.

Quando l'istruzione di assegnazione r2 = r1, solo i riferimenti (indirizzo) viene copiato.

Se il valore r1 viene modificato, allora il valore di tutti i citazioni sarà modificato per punto, in questo caso, r2 anche essere colpiti.


Forma breve, utilizzare il: = operatore di assegnazione

Sappiamo che si può dedurre automaticamente il tipo di una variabile viene inizializzata dalla variabile di sistema viene omesso, la dichiarazione scritta sulla parola chiave dichiarazione var è in realtà un po 'ridondante, in modo che possiamo loro essere abbreviati come: = 50 oppure b: = false.

A e B (tipi int e bool) sarà dedotto automaticamente compilatore.

Questa è la forma preferita di impiego di variabili, ma può essere utilizzato solo nel corpo della funzione, non può essere usato per dichiarare con il compito di variabili globali. Utilizzare gli operatori: = possono creare in modo efficiente una nuova variabile chiamata dichiarazione di inizializzazione.

precauzioni

Se lo stesso blocco di codice, non possiamo ri-utilizzare lo stesso nome per una dichiarazione di inizializzazione variabile, per esempio: a: = 20 non è consentito, il compilatore verrà visualizzato un errore non nuove variabili sul lato sinistro: =, ma un = 20 è possibile, in quanto è la stessa variabile viene assegnato un nuovo valore.

Se lo usate prima di definire la variabile a, si otterrà un errore di compilazione undefined: a.

Se si dichiara una variabile locale, ma non è utilizzato nello stesso blocco di codice in esso, si otterrà un errore di compilazione, come ad esempio il seguente esempio quale variabile di:

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

Provare a compilare questo codice otterrà l'erroredi una dichiarata e non utilizzati.

Inoltre, per dare un compito semplice non è sufficiente, questo valore deve essere utilizzato, così uso

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

Sarà rimuovere gli errori.

Ma le variabili globali sono dichiarate, ma non autorizzati a utilizzare.

>

variabili multiple dello stesso tipo possono essere dichiarate sulla stessa linea, come ad esempio:

var a, b, c int

Altre variabili possono essere distribuiti sulla stessa linea, come ad esempio:

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

La riga precedente assume che le variabili a, bec sono stati dichiarati, altrimenti dovrebbe essere usato in questo modo:

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

Questi valori sono a destra nello stesso ordine assegnato alla variabile a sinistra, in modo che un valore è 5, b valore è 7, il valore di c è "abc".

Questa assegnazione si chiama parallelo o simultaneamente.

Se si desidera scambiare i valori di due variabili, si può semplicemente utilizzare a, b = b, a.

identificatore vuoto _ è utilizzato anche valori scartati, come il valore di 5: _, b = 5, 7 è stato abbandonato.

_ In realtà una variabile di sola scrittura, non è possibile ottenere il suo valore. Andare a fare questo perché la lingua in cui è necessario utilizzare tutte le variabili sono dichiarate, ma a volte non è necessario utilizzare tutti i valori di ritorno da una funzione ottenuto.

assegnazione parallela viene utilizzato anche come una funzione restituire più valori di ritorno, come Val e err errore qui è contemporaneamente ottenuti chiamando la funzione Func1: val, err = Func1 (Q1).