fmt.Printf formatare tutorial și ieftin foaie

yourbasic.org / golang
 dale scrisoare care formează formatul word
  • Noțiuni de bază
    • Printf
    • Sprintf (format fără imprimare)
    • găsiți erori fmt cu vet
  • Cheat sheet
    • formate implicite și tip
    • Integer (liniuță, bază, semn)
    • caracter (citat, Unicode)
    • Boolean (adevărat/fals)
    • Pointer (hex)
    • Float (liniuță, precizie, notație științifică)
    • string sau octet felie (citat, liniuță, Hex)
    • valori speciale

Noțiuni de bază

cu pachetul Go fmt puteți formata numere și șiruri căptușite cu spații sau zerouri,în diferite baze și cu ghilimele opționale.

trimiteți un șir de șabloane care conține textul pe care doriți să îl formatațiplus unele verbe de adnotare care spun funcția fmt cum să formatați argumentele finale.

Printf

în acest exemplu, fmt.Printf formate și scrie la ieșire standard:

fmt.Printf("Binary: %b\%b", 4, 5) // Prints `Binary: 1001`
  • șirul șablon este "Binary: %b\%b",
  • verbul adnotare%b formate un număr în binar, și
  • valoarea specială \ este un backslash.

ca un caz special, verbul %%, care nu consumă niciun argument, produce un semn procentual:

fmt.Printf("%d %%", 50) // Prints `50 %`

Sprintf (format fără imprimare)

utilizați fmt.Sprintf pentru a formata un șir fără a-l imprima:

s := fmt.Sprintf("Binary: %b\%b", 4, 5) // s == `Binary: 1001`

găsiți erori fmt cu vet

dacă încercați să compilați și să rulați această linie incorectă de cod

fmt.Printf("Binary: %b\%b", 4) // An argument to Printf is missing.

veți găsi că programul va compila, și apoi imprima

Binary: 100\%!b(MISSING)

pentru a prinde acest tip de erori devreme, puteți utilizacomanda vet – se poate findcalls ale căror argumente nu se aliniază cu șirul de format.

$ go vet example.goexample.go:8: missing argument for Printf("%b"): format reads arg 2, have only 1 args

Cheat sheet

formate implicite și tip

  • valoare: int64{0, 1}
Format Verb descriere
%v format implicit
int64{0, 1} %#v Go-format sintaxă
int64 %T tipul valorii

întreg (liniuță, bază, semn)

  • valoare: 15
Format Verb descriere
15 %d baza 10
+15 %+d arată întotdeauna semn
␣␣15 %4d Pad cu spații (lățime 4, dreapta justificată)
15␣␣ %-4d Pad cu spații (lățime 4, stânga justificată)
0015 %04d Pad cu zerouri (lățime 4)
1111 %b baza 2
17 %o baza 8
f %x baza 16, minusculă
F %X baza 16, majusculă
0xf %#x baza 16, cu 0x de conducere

caracter (citat, Unicode)

  • valoare: 65(Unicode litera A)
Format Verb descriere
A %c caracter
‘A’ %q caracterul Citat
U+0041 %U Unicode
U + 0041 ‘A’ %#U Unicode cu caracter

Boolean (adevărat/fals)

utilizați %t pentru a formata un boolean ca true sau false.

Pointer (hex)

utilizați %p pentru a formata un pointer în baza 16 notație cu lider 0x.

Float (liniuță, precizie, notație științifică)

  • valoare: 123.456
Format Verb descriere
1.234560 e+02 %e notație științifică
123.456000 %f punct zecimal, fără exponent
123.46 %.2f lățimea de neîndeplinire a obligațiilor de plată, precizie 2
␣␣123.46 %8.2f Lățime 8, precizie 2
123.456 %g Exponent după cum este necesar, numai cifrele necesare

String sau octet felie (citat, liniuță, hex)

  • valoare: "café"
Format Verb Descriere
café %s Simplu string
␣␣café %6s Lățime 6, nu justifica
café␣␣ %-6s Lățime 6, stânga justifica
„café” %q șir Citat
636166c3a9 %x Hex dump byte valori
63 61 66 c3 a9 % x Hex dump cu spații

valori speciale

valoare descriere
\a u + 0007 alertă sau clopot
\b U + 0008 backspace
\ u + 005c bară oblică inversă
\t U + 0009 fila orizontală
\n u + 000a linie de alimentare sau newline
\f u + 000c formă de alimentare
\r u + 000d transport întoarcere
\v U + 000b tab vertical

valorile arbitrare pot fi codificate cu escapes backslash andcan fi folosit în orice "" șir literal.

există patru formate diferite:

  • \x urmat de exact două cifre hexazecimale,
  • \ urmat de exact trei cifre octale,
  • \u urmat de exact patru cifre hexazecimale,
  • \U urmat de exact opt cifre hexazecimale.

evadările \u și \U reprezintă puncte de cod Unicode.

fmt.Println("\caf\u00e9") // Prints \café

lecturi suplimentare

40+ sfaturi practice șir

Lasă un răspuns

Adresa ta de email nu va fi publicată.