fmt.Printf formattazione tutorial e cheat sheet

yourbasic.org/golang
tessere che formano il formato word
  • 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

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.