Recentemente ho trovato il codice qui sottoChe cosa significa questa sintassi di init dell'array? (elementi con chiavi)
var noEscape = [256]bool{
'A': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
'a': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
'0': true, true, true, true, true, true, true, true, true, true,
'-': true,
'.': true,
'_': true,
'~': true,
}
Sono consapevole che questo [N]bool
viene inizializzato con N false
(zeri) per impostazione predefinita. E se l'indice seguito da due punti è specificato, i valori possono essere definiti dall'indice (incluso). Dove è descritto? Quali tipi possono essere utilizzati come valore di indice (nell'esempio è presente un numero char
)?
Go non ha un tipo 'char'. Quelli sono letterali 'rune' e' rune' è un alias di tipo per 'int32'. Vedi https://golang.org/ref/spec#Rune_literals per maggiori dettagli. – voutasaurus