Vai costante lingua
Valore costante è un identificatore semplice, il programma è in esecuzione, l'importo non verrà modificato.
Costante tipo di dati può essere solo booleano, numerico (intero, virgola mobile e numeri complessi) e la stringa.
Costanti formato definito:
const identifier [type] = value
È possibile omettere l'indicatore di tipo [type], perché il compilatore può dedurre il valore della variabile al suo tipo.
- Esplicita definizione del tipo:
const b string = "abc"
- definizione di tipo implicito:
const b = "abc"
Una pluralità dello stesso tipo di istruzione può essere abbreviata come segue:
const c_name1, c_name2 = value1, value2
Il seguente esempio illustra l'applicazione delle costanti:
package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int = 5 var area int const a, b, c = 1, false, "str" //多重赋值 area = LENGTH * WIDTH fmt.Printf("面积为 : %d", area) println() println(a, b, c) }
Esempi dei risultati operativi di cui sopra come segue:
面积为 : 50 1 false str
Le costanti possono anche essere utilizzati per enumerare:
const ( Unknown = 0 Female = 1 Male = 2 )
I numeri 0, 1 e 2, rispettivamente, a nome sconosciuto di genere, donne e uomini.
Le costanti possono usare len (), cap (), unsafe.Sizeof () per calcolare il valore di un'espressione costante. espressione costante, la funzione deve essere integrato nelle funzioni, ma per il resto il compilatore:
package main import "unsafe" const ( a = "abc" b = len(a) c = unsafe.Sizeof(a) ) func main(){ println(a, b, c) }
Esempi dei risultati operativi di cui sopra come segue:
abc 3 16
iota
iota, costante speciale, può essere considerata una modifica del compilatore può essere costante.
Quando ognuno di la parola chiave const appare, viene azzerato, e poi la prossima prima const appare una volta ogni virgola, che rappresentano i numeri sono aumentati automaticamente di uno.iota può essere utilizzato come valori di enumerazione:
const ( a = iota b = iota c = iota )
Il primo iota uguale a 0, ogni volta che viene utilizzato iota nuova riga, esso verrà automaticamente aggiunto al valore di 1, quindi a = 0, b = 1, c = 2 può essere abbreviata come segue:
const ( a = iota b c )
iota Usage
package main import "fmt" func main() { const ( a = iota //0 b //1 c //2 d = "ha" //独立值,iota += 1 e //"ha" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢复计数 i //8 ) fmt.Println(a,b,c,d,e,f,g,h,i) }
Esempi dei risultati operativi di cui sopra come segue:
0 1 2 ha ha 100 100 7 8
Guardate briciolo di esempi interessanti:
package main import "fmt" const ( i=1<<iota j=3<<iota k l ) func main() { fmt.Println("i=",i) fmt.Println("j=",j) fmt.Println("k=",k) fmt.Println("l=",l) }
Esempi dei risultati operativi di cui sopra come segue:
i= 1 j= 6 k= 12 l= 24
iota rappresenta da 0 a 1 aggiungere automaticamente, in modo da i = 1 << 0, j = 3 << 1 (<< rappresenta spostamento a sinistra significa), vale a dire: i = 1, j = 6, questo non è un problema, la chiave k e l, l'uscita dal look, k = 3 << 2, l = 3 << 3.