- 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
- Printf
- Sprintf (formátum nyomtatás nélkül)
- keresse meg az FMT hibákat a vet
- Cheat sheet
- alapértelmezett formátumok és típusok
- egész szám (behúzás, alap, jel)
- karakter (idézve, Unicode)
- logikai (igaz / hamis)
- Pointer (hex)
- úszó (francia bekezdés, pontosság, tudományos jelölés)
- karakterlánc vagy bájt szelet (idézet, behúzás, hex)
- különleges értékek
- további információk
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 false
néven.
Pointer (hex)
A %p
haszná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