fmt.Printf formating tutorial ja cheat sheet

yourbasic.org / golang
sanamuodon muodostavat kirjainlaatat
  • 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

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.Sprintfmerkkijonon 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

Vastaa

Sähköpostiosoitettasi ei julkaista.