- perusasiat
- Printf
- Sprintf (muoto ilman painatusta)
- Etsi FMT-virheet ammatillisen koulutuksen avulla
- lunttilappu
- Oletusmuodot ja tyyppi
- kokonaisluku (sisennys, pohja, merkki)
- merkki (lainattu, Unicode)
- Boolean (tosi/epätosi)
- osoitin (hex)
- Float (sisennys, tarkkuus, tieteellinen notaatio)
- Float (sisennys, tarkkuus, tieteellinen notaatio) 8962>merkkijono-tai tavuviipale (lainaus, sisennys, Hex)
- Erityisarvot
- Basics
- Printf
- Sprintf (muoto ilman tulostusta)
- Find fmt errors with vet
- lunttilappu
- Oletusmuodot ja tyyppi
- kokonaisluku (sisennys, pohja, merkki)
- merkki (lainattu, Unicode)
- Boolean (tosi/epätosi)
- osoitin (hex)
- Float (sisennys, tarkkuus, tieteellinen notaatio)
- merkkijono tai tavuviipale (lainaus, sisennys, hex)
- erityisarvot
- Jatkoluku
Basics
Go fmt
packagey voit muotoilla numeroita ja merkkijonoja,jotka on pehmustettu välilyönneillä tai nollilla, eri pohjiin ja valinnaisilla lainausmerkeillä.
lähetät mallijonon, joka sisältää muokattavan tekstinplus joitakin merkitysverbejä, jotka kertovat fmt
funktiotshow muotoilee perässä olevat argumentit.
Printf
tässä esimerkissä fmt.Printf
muotoilee ja kirjoittaa vakiotulokseen:
fmt.Printf("Binary: %b\%b", 4, 5) // Prints `Binary: 1001`
- mallijono on
"Binary: %b\%b"
, - selitysverbi
%b
muodostaa binaarissa luvun, ja - erityinen arvo
\
on selänviiva.
erikoistapauksena verbi %%
, joka ei käytä argumenttia, tuottaa prosenttimerkin:
fmt.Printf("%d %%", 50) // Prints `50 %`
Sprintf (muoto ilman tulostusta)
käytä fmt.Sprintf
merkkijonon muotoiluun ilman tulostusta:
s := fmt.Sprintf("Binary: %b\%b", 4, 5) // s == `Binary: 1001`
Find fmt errors with vet
jos yrität koota ja ajaa tätä virheellistä koodiriviä
fmt.Printf("Binary: %b\%b", 4) // An argument to Printf is missing.
, huomaat, että ohjelma kokoaa, ja tulostaa sitten
Binary: 100\%!b(MISSING)
havaitaksesi tämäntyyppiset virheet varhaisessa vaiheessa, voit käyttää vet – komentoa-se voi löytää puhelut, joiden argumentit eivät ole linjassa muotomerkkijonon kanssa.
$ go vet example.goexample.go:8: missing argument for Printf("%b"): format reads arg 2, have only 1 args
lunttilappu
Oletusmuodot ja tyyppi
- arvo:
int64{0, 1}
muoto | verbi | kuvaus |
---|---|---|
%v |
oletusmuoto | |
int64{0, 1} | %#v |
Go-syntaksimuoto |
int64 | %T |
Arvon tyyppi |
kokonaisluku (sisennys, pohja, merkki)
- arvo:
15
muoto | verbi | kuvaus |
---|---|---|
15 | %d |
pohja 10 |
+15 | %+d |
Näytä aina merkki |
␣␣15 | %4d |
Pad välilyönteineen (leveys 4, oikea perusteltu) |
15␣␣ | %-4d |
Pad välilyönteineen (leveys 4, Vasen perusteltu) |
0015 | %04d |
nollilla varustettu alusta (leveys 4) |
1111 | %b |
pohja 2 |
17 | %o |
pohja 8 |
f | %x |
Base 16, pienet kirjaimet |
F | %X |
Base 16, isot kirjaimet |
0xf | %#x |
Base 16, johtava 0x |
merkki (lainattu, Unicode)
- arvo:
65
(Unicode-kirjain A)
muoto | verbi | kuvaus |
---|---|---|
A | %c |
merkki |
’A’ | %q |
lainattu merkki |
U+0041 | %U |
Unicode |
U+0041 ”A’ | %#U |
Unicode merkillä |
Boolean (tosi/epätosi)
käytä %t
boolean-muotoa true
tai false
.
osoitin (hex)
käytä %p
osoittimen muodostamiseen 16: n kantamuotoon johtaen 0x
.
Float (sisennys, tarkkuus, tieteellinen notaatio)
- arvo:
123.456
muoto | verbi | kuvaus |
---|---|---|
1.234560 e+02 | %e |
Tieteellinen merkintä |
123.456000 | %f |
desimaalipiste, ei eksponenttia |
123.46 | %.2f |
Oletusleveys, tarkkuus 2 |
␣␣123.46 | %8.2f |
leveys 8, tarkkuus 2 |
123.456 | %g |
eksponentti tarpeen mukaan, Vain tarvittavat numerot |
merkkijono tai tavuviipale (lainaus, sisennys, hex)
- arvo:
"café"
muoto | verbi | kuvaus |
---|---|---|
café | %s |
tavallinen merkkijono |
␣␣café | %6s |
leveys 6, oikea oikeutus |
café␣␣ | %-6s |
leveys 6, vasen oikeutus |
”café” | %q |
lainattu merkkijono |
636166c3a9 | %x |
tavuarvojen heksadumppaus |
63 61 66 c3 a9 | % x |
Hex dump with spaces |
erityisarvot
arvo | kuvaus |
---|---|
\a |
U + 0007 hälytys tai soittokello |
\b |
U + 0008 backspace |
\ |
U + 005c takaisinveto |
\t |
U + 0009 vaakasuuntainen välilehti |
\n |
U+000A linjasyöttö tai newline |
\f |
U+000C-muotosyötte |
\r |
U + 000d kuljetus paluu |
\v |
U + 000b pystysuuntainen välilehti |
mielivaltaisia arvoja voidaan koodata backslash-pakoilla ja niitä voidaan käyttää missä tahansa ""
merkkijonon kirjaimessa.
on neljä eri muotoa:
-
\x
jota seuraa täsmälleen kaksi heksadesimaalilukua, -
\
jota seuraa tasan kolme oktaalinumeroa, -
\u
jota seuraa tasan neljä heksadesimaalilukua, -
\U
sitä seuraa tasan kahdeksan heksadesimaalilukua.
karat \u
ja \U
edustavat Unicode-koodipisteitä.
fmt.Println("\caf\u00e9") // Prints \café
Jatkoluku
40+ käytännön narukärjet