- Základy
- Printf
- Sprintf (formát, bez tisku)
- Najít fmt chyby s veterináři
- Cheat sheet
- Výchozí formát a typ
- Integer (odrážka, základní, znak)
- Charakter (citace, Unicode)
- Boolean (true/false)
- Ukazatel (hex)
- Float (odrážky, přesnost, vědecká notace)
- String nebo byte plátek (citace, odrážky, hex)
- Speciální hodnoty
- základy
- Printf
- Sprintf (formát, bez tisku)
- Najít fmt chyby s veterináři
- tahák
- výchozí formáty a typ
- Integer (odrážka, základní, znamení)
- Charakter (citace, Unicode)
- Boolean (true/false)
- ukazatel (hex)
- Float (odrážky, přesnost, vědecká notace)
- Řetězec nebo byte plátek (citace, odrážky, hex)
- Speciální hodnoty
- Další čtení
základy
s balíčkem Go fmt
můžete formátovat čísla a řetězce vyplněné mezerami nebo nulami, v různých základnách a s volitelnými uvozovkami.
odeslání šablony řetězec, který obsahuje text, který chcete formatplus některé anotace slovesa, které říkají fmt
functionshow do formátu koncové argumenty.
Printf
v tomto příkladu fmt.Printf
formátuje a zapisuje na standardní výstup:
fmt.Printf("Binary: %b\%b", 4, 5) // Prints `Binary: 1001`
- šablony řetězec je
"Binary: %b\%b"
, - anotace slovesa
%b
formátuje číslo v binární, a - speciální hodnota
\
je zpětné lomítko.
Jako speciální případ, sloveso %%
, který spotřebovává žádný argument, produkuje znak procenta:
fmt.Printf("%d %%", 50) // Prints `50 %`
Sprintf (formát, bez tisku)
Použití fmt.Sprintf
formátovat řetězec bez tisku to:
s := fmt.Sprintf("Binary: %b\%b", 4, 5) // s == `Binary: 1001`
Najít fmt chyby s veterináři
Pokud se pokusíte zkompilovat a spustit tento nesprávný řádek kódu
fmt.Printf("Binary: %b\%b", 4) // An argument to Printf is missing.
zjistíte, že program bude kompilovat, a pak vytisknout
Binary: 100\%!b(MISSING)
chytit tento typ chyby brzy, můžete použít vet příkaz – to může findcalls, jejichž argumenty nejsou v souladu s řetězec formátu.
$ go vet example.goexample.go:8: missing argument for Printf("%b"): format reads arg 2, have only 1 args
tahák
výchozí formáty a typ
- hodnota:
int64{0, 1}
Formát | Sloveso | Popis |
---|---|---|
%v |
Výchozí formát | |
int64{0, 1} | %#v |
Go-syntaxe formátu |
int64 | %T |
typ hodnoty |
Integer (odrážka, základní, znamení)
- Hodnota:
15
Formát | Sloveso | Popis |
---|---|---|
15 | %d |
Základní 10 |
+15 | %+d |
Vždy ukázat, znamení |
␣␣15 | %4d |
Pad s mezerami (šířka 4, právo oprávněné) |
15␣␣ | %-4d |
Pad s mezerami (šířky 4, levé oprávněné) |
0015 | %04d |
Podložka s nulami (šířka 4) |
1111 | %b |
Základní 2 |
17 | %o |
Základní 8 |
f | %x |
Základní 16, malá |
F | %X |
Základní 16, velká písmena |
0xf | %#x |
Základní 16, s předními 0x |
Charakter (citace, Unicode)
- Hodnota:
65
(Unicode písmeno)
Formát | Sloveso | Popis |
---|---|---|
A | %c |
Charakter |
‚A‘ | %q |
Citoval charakter |
U+0041 | %U |
Unicode |
U+0041 “ | %#U |
Unicode s charakterem |
Boolean (true/false)
Použití %t
k formátování boolean true
nebo false
.
ukazatel (hex)
použijte %p
pro formátování ukazatele v zápisu základny 16 s předním 0x
.
Float (odrážky, přesnost, vědecká notace)
- Hodnota:
123.456
Formát | Sloveso | Popis |
---|---|---|
1.234560 e+02 | %e |
Vědecká notace |
123.456000 | %f |
Desetinnou čárku, ne exponent |
123.46 | %.2f |
Výchozí šířka, přesnost 2 |
␣␣123.46 | %8.2f |
Šířka 8, přesnost 2 |
123.456 | %g |
Exponent jako potřebné, nutné pouze číslice |
Řetězec nebo byte plátek (citace, odrážky, hex)
- Hodnota:
"café"
Formát | Sloveso | Popis |
---|---|---|
café | %s |
Prostý řetězec |
␣␣café | %6s |
Šířka 6, správně odůvodnit |
café␣␣ | %-6s |
Šířka 6, vlevo ospravedlnit |
„café“ | %q |
řetězec v uvozovkách |
636166c3a9 | %x |
Hex dump byte hodnoty |
63 61 66 c3 a9 | % x |
Hex skládka s mezerami |
Speciální hodnoty
Hodnota | Popis |
---|---|
\a |
U+0007 upozornění nebo bell |
\b |
U+0008 backspace |
\ |
U+005c zpětné lomítko |
\t |
U+0009 horizontální tab |
\n |
U+000A line feed, nebo newline |
\f |
U+000C formě krmiva |
\r |
U+000D kočár návrat |
\v |
U+000b vertikální tab |
Libovolné hodnoty mohou být kódovány s backslash escapes mohou být použity v jakékoliv ""
řetězcový literál.
k Dispozici jsou čtyři různé formáty:
-
\x
následuje přesně dvě šestnáctkové číslice, -
\
následuje přesně tři osmičkové číslice, -
\u
následuje přesně čtyři hexadecimální číslice, -
\U
následuje přesně osm hexadecimálních číslic.
escapy \u
a \U
představují Kódové body Unicode.
fmt.Println("\caf\u00e9") // Prints \café
Další čtení
40+ praktické string tipy