- Basis
- Printf
- Sprintf (opmaak zonder printen)
- Zoeken fmt fouten met dierenarts
- Cheat sheet
- Standaard formaten en type
- Integer (streepje, base, teken)
- Teken (geciteerd, Unicode)
- Boolean (true/false)
- Aanwijzer (hex)
- Float (streepje, de precisie, de wetenschappelijke notatie)
- String of byte-segment (offerte, streepje, hex)
- Speciale waarden
- Basics
- Printf
- Sprintf (formaat zonder af te drukken)
- fmt-fouten zoeken met vet
- spiekbrief
- standaardformaten en type
- Integer (streepje, base, teken)
- Karakter (geciteerd, Unicode)
- Boolean (true/false)
- Pointer (hex)
- Float (streepje, de precisie, de wetenschappelijke notatie)
- String of byte-segment (offerte, streepje, hex)
- Speciale waarden
- verder lezen
Basics
met het pakket Go fmt
kunt u getallen en tekenreeksen opmaken die zijn opgevuld met spaties of nullen,in verschillende bases en met optionele aanhalingstekens.
u verzendt een sjabloonstring die de tekst bevat die u wilt formatteren plus enkele annotatiewerkwoorden die de fmt
functieshow vertellen om de achterliggende argumenten te formatteren.
Printf
in dit voorbeeld formatteert en schrijft fmt.Printf
naar standaarduitvoer:
fmt.Printf("Binary: %b\%b", 4, 5) // Prints `Binary: 1001`
- de sjabloonstring is
"Binary: %b\%b"
, - het annotatiewerkwoord
%b
formatteert een getal in binair, en - de speciale waarde
\
is een backslash.
als speciaal geval geeft het werkwoord %%
, dat geen argument gebruikt, een procentteken:
fmt.Printf("%d %%", 50) // Prints `50 %`
Sprintf (formaat zonder af te drukken)
gebruik fmt.Sprintf
om een tekenreeks te formatteren zonder af te drukken:
s := fmt.Sprintf("Binary: %b\%b", 4, 5) // s == `Binary: 1001`
fmt-fouten zoeken met vet
als u probeert deze onjuiste regel code
fmt.Printf("Binary: %b\%b", 4) // An argument to Printf is missing.
te compileren en uit te voeren, zult u merken dat het programma zal compileren en dan
Binary: 100\%!b(MISSING)
afdrukken om dit type fouten vroegtijdig op te vangen, kunt u het vet – commando gebruiken-het kan calls vinden waarvan de argumenten niet overeenkomen met de opmaakstring.
$ go vet example.goexample.go:8: missing argument for Printf("%b"): format reads arg 2, have only 1 args
spiekbrief
standaardformaten en type
- waarde:
int64{0, 1}
Indeling | Werkwoord | Beschrijving |
---|---|---|
%v |
Standaard formaat | |
int64{0, 1} | %#v |
Go-syntaxis formaat |
int64 | %T |
Het type van de waarde |
Integer (streepje, base, teken)
- Waarde:
15
Indeling | Werkwoord | Beschrijving |
---|---|---|
15 | %d |
Basis 10 |
+15 | %+d |
Altijd weer aanmelden |
␣␣15 | %4d |
Pad met spaties (breedte 4, rechts uitgelijnd) |
15␣␣ | %-4d |
Pad met spaties (breedte 4, links uitgelijnd) |
0015 | %04d |
Pad met nullen (breedte 4) |
1111 | %b |
Basis 2 |
17 | %o |
Basis 8 |
f | %x |
Base 16, kleine letters |
F | %X |
Base 16, hoofdletters |
0xf | %#x |
Base-16, met toonaangevende 0x |
Karakter (geciteerd, Unicode)
- Waarde:
65
(Unicode letter A)
Indeling | Werkwoord | Beschrijving |
---|---|---|
Een | %c |
Teken |
‘Een’ | %q |
Geciteerd karakter |
U+0041 | %U |
Unicode |
U+0041 ‘Een’ | %#U |
Unicode met karakter |
Boolean (true/false)
Gebruik %t
opmaken van een boolean als true
of false
.
Pointer (hex)
gebruik %p
om een pointer in basis 16-notatie te formatteren met voorloop 0x
.
Float (streepje, de precisie, de wetenschappelijke notatie)
- Waarde:
123.456
Indeling | Werkwoord | Beschrijving |
---|---|---|
1.234560 e+02 | %e |
Wetenschappelijke notatie |
123.456000 | %f |
Decimale punt, geen exponent |
123.46 | %.2f |
Standaard breedte, precisie 2 |
␣␣123.46 | %8.2f |
Breedte 8, precisie 2 |
123.456 | %g |
Exponent als nodig, de nodige cijfers alleen |
String of byte-segment (offerte, streepje, hex)
- Waarde:
"café"
Indeling | Werkwoord | Beschrijving |
---|---|---|
café | %s |
Normaal string |
␣␣café | %6s |
Breedte 6, rechts uitvullen |
café␣␣ | %-6s |
Breedte 6, links uitvullen |
“café” | %q |
teken |
636166c3a9 | %x |
Hex dump van byte-waarden |
63 61 66 c3 a9 | % x |
Hex dump met spaties |
Speciale waarden
Waarde | Beschrijving |
---|---|
\a |
U+0007 waarschuwing of bel |
\b |
U+backspace-0008 |
\ |
U+005c backslash |
\t |
U+0009 horizontale tab |
\n |
U+000A regel of newline |
\f |
U+000C form feed |
\r |
U+000D vervoer return |
\v |
u + 000b verticaal tabblad |
willekeurige waarden kunnen gecodeerd worden met backslash escapes en kunnen gebruikt worden in elke ""
string.
Er zijn vier verschillende formaten:
-
\x
gevolgd door twee hexadecimale cijfers, -
\
gevolgd door precies drie octale cijfers, -
\u
gevolgd door precies vier hexadecimale cijfers, -
\U
gevolgd door precies acht hexadecimale cijfers.
de escapes \u
en \U
vertegenwoordigen Unicode-Codepunten.
fmt.Println("\caf\u00e9") // Prints \café
verder lezen
40+ praktische tips voor tekenreeksen