- Nozioni di base
- Printf
- Sprintf (formato di stampa)
- Trovare fmt errori con la formazione professionale
- Cheat sheet
- formati Predefiniti e tipo
- Integer (trattino, di base, segno)
- Carattere (citato, Unicode)
- Booleano (true/false)
- Puntatore (hex)
- Float (trattino, la precisione, la notazione scientifica)
- String o byte fetta (citazione, trattino, hex)
- valori Speciali
- Nozioni di base
- Printf
- Sprintf (formato senza stampa)
- Trova errori fmt con vet
- Cheat sheet
- Formati e tipo predefiniti
- Integer (trattino, di base, segno)
- Carattere (citato, Unicode)
- un valore Booleano (true/false)
- Pointer (hex)
- Float (trattino, la precisione, la notazione scientifica)
- o la Stringa di byte fetta (citazione, trattino, hex)
- valori Speciali
- Ulteriori letture
Nozioni di base
Con il pacchetto Go fmt
è possibile formattare numeri e stringhe riempiti con spazi o zeri,in basi diverse e con virgolette opzionali.
Si invia una stringa di modello che contiene il testo che si desidera formattare più alcuni verbi di annotazione che dicono alla funzione fmt
come formattare gli argomenti finali.
Printf
In questo esempio, fmt.Printf
formatta e scrive su standard output:
fmt.Printf("Binary: %b\%b", 4, 5) // Prints `Binary: 1001`
- la stringa del modello è
"Binary: %b\%b"
, - il verbo di annotazione
%b
formatta un numero in binario e - il valore speciale
\
è una barra rovesciata.
Come caso speciale, il verbo %%
, che non consuma argomenti, produce un segno di percentuale:
fmt.Printf("%d %%", 50) // Prints `50 %`
Sprintf (formato senza stampa)
Usa fmt.Sprintf
per formattare una stringa senza stamparla:
s := fmt.Sprintf("Binary: %b\%b", 4, 5) // s == `Binary: 1001`
Trova errori fmt con vet
Se provi a compilare ed eseguire questa riga di codice errata
fmt.Printf("Binary: %b\%b", 4) // An argument to Printf is missing.
scoprirai che il programma compilerà e quindi stamperà
Binary: 100\%!b(MISSING)
Per rilevare questo tipo di errori in anticipo, puoi usareil comando vet – può trovarechiamate i cui argomenti non si allineano con la stringa di formato.
$ go vet example.goexample.go:8: missing argument for Printf("%b"): format reads arg 2, have only 1 args
Cheat sheet
Formati e tipo predefiniti
- Valore:
int64{0, 1}
Formato | Verbo | Descrizione |
---|---|---|
%v |
formato di Default | |
int64{0, 1} | %#v |
Go-sintassi formato |
int64 | %T |
Il tipo del valore |
Integer (trattino, di base, segno)
- Valore:
15
Formato | Verbo | Descrizione |
---|---|---|
15 | %d |
Base 10 |
+15 | %+d |
Mostra sempre il segno |
␣␣15 | %4d |
Pad con spazi (larghezza 4, giustificato a destra) |
15␣␣ | %-4d |
Pad con spazi (larghezza 4, giustificato a sinistra) |
0015 | %04d |
Pad con zeri (larghezza 4) |
1111 | %b |
Base 2 |
17 | %o |
Base 8 |
f | %x |
Base 16, minuscolo |
F | %X |
Base 16, lettere maiuscole |
0xf | %#x |
Base 16, con 0x |
Carattere (citato, Unicode)
- Valore:
65
(Unicode lettera di Un)
Formato | Verbo | Descrizione |
---|---|---|
Un | %c |
Carattere |
‘Un’ | %q |
Quotati carattere |
U+0041 | %U |
Unicode |
U+0041 ‘Un’ | %#U |
Unicode con il carattere |
un valore Booleano (true/false)
Uso %t
per formattare un booleano come true
o false
.
Pointer (hex)
Utilizzare %p
per formattare un puntatore in base 16 notazione con iniziale 0x
.
Float (trattino, la precisione, la notazione scientifica)
- Valore:
123.456
Formato | Verbo | Descrizione |
---|---|---|
1.234560 e+02 | %e |
La notazione scientifica |
123.456000 | %f |
punto Decimale, nessun esponente |
123.46 | %.2f |
larghezza Predefinita, precisione 2 |
␣␣123.46 | %8.2f |
Larghezza 8, precisione 2 |
123.456 | %g |
Esponente come necessario, necessario cifre |
o la Stringa di byte fetta (citazione, trattino, hex)
- Valore:
"café"
Formato | Verbo | Descrizione |
---|---|---|
caffetteria | %s |
Normale stringa |
␣␣caffetteria | %6s |
Larghezza 6, giustificato a destra |
caffetteria␣␣ | %-6s |
Larghezza 6, per giustificare a sinistra |
“caffetteria” | %q |
Quoted string |
636166c3a9 | %x |
Hex dump valori di byte |
63 61 66 c3 a9 | % x |
Hex dump con spazi |
valori Speciali
Valore | Descrizione |
---|---|
\a |
U+0007 avviso o bell |
\b |
U+0008 backspace |
\ |
U+005c barra rovesciata |
\t |
U+0009 orizzontale scheda |
\n |
U+000A linea di alimentazione o newline |
\f |
U+000C modulo di alimentazione |
\r |
U+000D trasporto ritorno |
\v |
U + 000b tab verticale |
I valori arbitrari possono essere codificati con escape backslash epuò essere utilizzato in qualsiasi stringa letterale ""
.
Ci sono quattro diversi formati:
-
\x
seguito da due cifre esadecimali, -
\
seguito da esattamente tre cifre ottali, -
\u
seguito da esattamente quattro cifre esadecimali, -
\U
seguito da esattamente otto cifre esadecimali.
Le escape \u
e \U
rappresentano i punti di codice Unicode.
fmt.Println("\caf\u00e9") // Prints \café
Ulteriori letture
40+ consigli pratici per le corde