vuoi
o PayPal
tutte le volte che vuoi
4.5 Tipi Elementari e Operatori
Non può essere chiamata, ma viene eseguita automaticamente.
I valori vengono combinati in espressioni grazie agli operatori.
Operatore unario: lavora su un valore
Operatore binario: lavora su due valori dello stesso tipo
Tipo booleano: i valori possibili sono le costanti predefinite true e false
Operatore di uguaglianza: ==
Operatore di disuguaglianza: !=
Operatori logici: NOT !, AND &&, OR ||
Ci sono tipi per i numeri interi, per i numeri in virgola mobile e un supporto nativo per i numeri complessi.
Go possiede tipi di dati dipendenti dall’architettura, che hanno una dimensione fissa (in bit) indicata dal loro nome:
- int: tipo con segno di default
- uint: tipo senza segno
- uintptr: numero intero senza segno abbastanza grande per contenere il valore di un puntatore
- float: numeri in virgola mobile
Nelle stringhe di formato:
- numeri interi: %d
- dati float: %f (notazione con la virgola mobile), %e (notazione scientifica)
- numero intero con n cifre (con degli zeri): %g
iniziali se necessario)%0nd numero con m cifre dopo il segno decimale e n cifre prima%n.mg= messaggio di errore, formattato nello stesso modo di PrintfErrorf= numero intero e numero decimale in virgola mobile la cui somma è fModfNumeri complessi: complex64, complex128c = complex(re, im)= parte realereal(c) = parte immaginariaimag(c)Stringa di formato: numeri complessi; per le due parti del numero%v %fOperatori su bit: funzionano solo sulle variabili intere di uguale lunghezza a livello di bitspecificatore di formato%bBinari: AND ; OR ; XOR• & | ^Unari: bitwise complement• ^BitShift: left shift ; right shift• << >>Operatori relazionali: == != < <= > >=Tipi di dati numerici e anche sulle stringheOperatori aritmetici: + - * /Sia per numeri interi che in virgola mobileresto della divisione, solo per numeri interi%Abbreviazioni: += *= /= %=Operatori unari per numeri interi e numeri float: ++ - -Numeri casuali: package contiene i generatori
memoria.
Lunghezza di una stringa: len() : len(str)
Contenuto di una stinga tramite indice (scritto tra parentesi quadre): str[0]
Unire due stringhe: s:= s1 +s2 approccio migliore
strings.Join()
4.7 le Stringhe e il Package Strconv
Sono riunite nel package Alcune delle funzioni più utili di seguito.
strings. Veri ca se la stringa inizia con il pre sso• strings.HasPrefix(s, prefix string) s prefixbool
Veri ca se la stringa nisce con il su sso• strings.HasSuffix(s, suffix string) s suffixbool
Da risultato se contiene• strings.Contains(s, substr string) bool true s substr
Indice della prima istanza di in o -1 se• strings.Index(s, str string) int str s, strnon c’è in s
Indice dell’ultima istanza di in o -1 se non• strings.LastIndex(s, str string) int str s, strc’è in s
Se non è un carattere ASCII• strings.IndexRune(s string, ch int) int ch
Sostituisce le prime occorrenze di in con• strings.Replace(str, old, new, n) n
strings.Count(s, str string) int
- Conta il numero di istanze della sottostringastr
nella stringas
.strings.Repeat(s, count int) string
- Crea una nuova stringa fatta da copie della stringas
, ripetutacount
volte.strings.ToLower(s) string
- Crea una copia della stringas
con tutte le lettere convertite in minuscolo.strings.ToUpper(s) string
- Crea una copia della stringas
con tutte le lettere convertite in maiuscolo.strings.TrimSpace(s) string
- Rimuove tutti gli spazi iniziali e finali dalla stringas
.strings.Fields(s) []string
- Divide la stringas
in una slice di stringhe, utilizzando gli spazi bianchi consecutivi come separatori.strings.Split(s, sep string) []string
- Divide la stringas
intorno al carattere separatoresep
e restituisce una slice di stringhe.strings.Join(sl []string, sep string) string
- Crea una nuova stringa contenente tutti gli elementi della slice di stringhesl
, separati dal separatoresep
.strings.NewReader(str) io.Reader
- Restituisce un puntatore a un oggettoReader
che permette di lavorare sulla stringastr
.strconv.Itoa(i int) string
- Converte un numero interoi
in una rappresentazione decimale nella forma di una stringa.
`:
```html
strconv.FormatFloat(f float64, fmt string, prec int, bitSize int) string
```
La conversione di un numero in virgola mobile a 64 bit in un intero può essere effettuata utilizzando il tag ``:
```html
strconv.Atoi(s string) (i int, err error)
```
La conversione di una stringa in un numero in virgola mobile a 64 bit può essere effettuata utilizzando il tag ``:
```html
strconv.ParseFloat(s string, bitSize int) (f float64, err error)
```
Spero che queste informazioni ti siano state utili!