fmt.Printf formázási bemutató és cheat sheet

yourbasic.org / golang
 betű csempe alkotó szó formátumban
  • alapok
    • Printf
    • Sprintf (nyomtatás nélküli formátum)
    • FMT hibák keresése vet segítségével
  • Cheat sheet
    • alapértelmezett formátumok és típusok
    • egész szám (behúzás, alap, jel)
    • karakter (idézett, Unicode)
    • logikai (igaz/hamis)
    • mutató (hex)
    • úszó (behúzás, pontosság, tudományos jelölés)
    • karakterlánc vagy bájt szelet (idézet, behúzás, hex)
    • speciális értékek

Basics

A Go fmt csomagkalmegformázhatja a számokat és a karakterláncokat szóközökkel vagy nullákkal kitöltve,különböző alapokban és opcionális idézőjelekkel.

olyan sablonszöveget küld, amely tartalmazza a formázni kívánt szöveget, plusz néhány annotációs igét, amelyek megmondják a fmt függvénynek, hogyan kell formázni a záró argumentumokat.

Printf

ebben a példában fmt.Printf formázza és írja a szabványos kimenetre:

fmt.Printf("Binary: %b\%b", 4, 5) // Prints `Binary: 1001`
  • a sablon karakterlánc "Binary: %b\%b",
  • a %b annotációs ige egy számot binárisan formáz, a
  • a \ speciális érték pedig fordított perjel.

különleges esetként a %% ige, amely nem fogyaszt argumentumot, százalékjelet állít elő:

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

Sprintf (formátum nyomtatás nélkül)

A fmt.Sprintf használatával formázhat egy karakterláncot nyomtatás nélkül:

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

keresse meg az FMT hibákat a vet

ha megpróbálja lefordítani és futtatni ezt a helytelen kódsort

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

azt fogja találni, hogy a program lefordítja, majd kinyomtatja

Binary: 100\%!b(MISSING)

az ilyen típusú hibák korai észleléséhez használhatja a vet parancsot – megtalálja azokat a hívásokat, amelyek argumentumai nem egyeznek a formátum karakterlánccal.

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

Cheat sheet

alapértelmezett formátumok és típusok

  • érték: int64{0, 1}
formátum ige leírás
%v alapértelmezett formátum
int64{0, 1} %#v Go-szintaxis formátum
int64 %T az érték típusa

egész szám (behúzás, alap, jel)

  • érték: 15
formátum ige leírás
15 %d alap 10
+15 %+d mindig jelzést mutasson
␣␣15 %4d Pad szóközökkel (szélesség 4, jobb indokolt)
15␣␣ %-4d Pad szóközökkel (szélesség 4, balra indokolt)
0015 %04d Pad nullákkal (szélesség 4)
1111 %b alap 2
17 %o alap 8
f %x 16. alap, kisbetűs
F %X 16. alap, nagybetűs
0xf %#x alap 16, vezető 0x

karakter (idézve, Unicode)

  • érték: 65(Unicode a betű)
formátum ige leírás
A %c karakter
‘A’ %q idézett karakter
U+0041 %U Unicode
U + 0041 ‘A’ %#U Unicode karakterrel

logikai (igaz / hamis)

A %t használatával formázza a logikai értéket true vagy falsenéven.

Pointer (hex)

A %phasználatával formázhat egy mutatót a 16.alap jelölésben a 0x kezdőbetűvel.

úszó (francia bekezdés, pontosság, tudományos jelölés)

  • érték: 123.456
formátum ige leírás
1.234560 e+02 %e tudományos jelölés
123.456000 %f tizedes pont, nincs kitevő
123.46 %.2f alapértelmezett szélesség, pontosság 2
␣␣123.46 %8.2f szélesség 8, pontosság 2
123.456 %g szükség szerint exponens, csak a szükséges számjegyek

karakterlánc vagy bájt szelet (idézet, behúzás, hex)

  • érték: "café"
Format Ige Leírás
kávézó %s Sima húr
␣␣kávézó %6s Szélesség 6 igazolja
kávézó␣␣ %-6s Szélessége 6, bal igazolja
“kávézó” %q Idézett string
636166c3a9 %x Hex dump byte értékek
63 61 66 c3 a9 % x Hex dump szóközökkel

különleges értékek

érték leírás
\a U + 0007 riasztás vagy csengő
\b U + 0008 backspace
\ U + 005c backslash
\t U + 0009 vízszintes fül
\n U + 000A vonaladagolás vagy újsor
\f U + 000C formában takarmány
\r U + 000d kocsi vissza
\v U + 000b függőleges fül

tetszőleges értékek kódolhatók backslash escapes andbármely "" karakterlánc literálban használható.

négy különböző formátum létezik:

  • \x pontosan két hexadecimális számjegy követi,
  • \ pontosan három oktális számjegy követi,
  • \u pontosan négy hexadecimális számjegy követi,
  • \U pontosan nyolc hexadecimális számjegy követi.

az escapes \u és \U Unicode kódpontokat jelöl.

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

további információk

40+ gyakorlati string tippek

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.