Rakstot Go kodu, virknes formatējums būs ļoti noderīgs daudzās situācijās. Iespējams, jūs parsējat ievades vai veidojat sarežģītāku izvadi nekā vienkārša savienošana. Iespējams, jūs strādājat ar citiem veidiem, nevis vienkāršas virknes.

Virknes formatēšana programmā Go izmanto pazīstamo printf funkcijas procesu un sintakse, ko izmanto arī valodas no Java līdz Haskell.

Go nodrošina dažādas metodes virkņu formatēšanai programmā fmt iepakojums. Virknes formatēšanai varat izmantot funkcijas un darbības vārdus atkarībā no operācijas vai ievades, ko vēlaties formatēt.

Virknes formatēšana programmā Go

Fmt pakotnes funkcijas ir līdzīgas līdzinieku funkcijām, piemēram printf funkcija bash vai C. Go formatēšanas darbības vārdus iegūst no C.

Jūs lietojat virknes formatēšanas darbības vārdi kā vietturi jūsu mainīgo vērtībām saturošā virknē. Pēc tam varat nodot šo formatēšanas virkni tādai funkcijai kā Printf, kopā ar vērtībām, kas atbilst šiem vietturiem.

Jūs nevarat izmantot virknes formatēšanas darbības vārdus ar

instagram viewer
Drukāt un Println metodes. Jūs varat tos izmantot ar tādām metodēm kā Printf un Sprintf.

fmt. Println("Šis ir tests %v", 90)
fmt. Printf("Šis ir tests %v", 90)

The %v darbības vārds drukā jebkuru vērtību tās noklusējuma formātā. The Println metode neatpazīst darbības vārdus un izdrukā visus argumentus, ko tā saņem. The Printf un Sprintf abas funkcijas formatē pirmo virknes argumentu, ko tām nododat.

Virknes formatēšanas funkcijas fmt pakotnē

Virkņu formatēšana Go programmēšanas valoda ir jāizmanto virknes formatēšanas funkcija un darbības vārds. Funkcija atgriež formatētu virkni, un darbības vārdi ir virknes ievades vietturi.

The Printf metode formatē ievadi atbilstoši formāta norādītājam un atgriež ierakstīto baitu vai kļūdu skaitu.

fmt. Printf("Šis ir tests %v", 90)

Parasti jums nav jāuztraucas par kļūdām, kad izmantojat Printf metodi.

The Sprintf metode formatē atbilstoši norādītajam formātam un atgriež rezultātu kā virkni.

var rezultāts = fmt. Sprintf("Šis ir tests %v", 90)

The Fprintf metode formatē virkni un ieraksta to rakstītājam (metodes, kas ievieš io. rakstnieks interfeiss)

// ierakstiet datus standarta izvadē
rezultāts, err = fmt. Fprintf (rakstnieks, "Šis ir tests %v", 90)

The Fscanf metode skenē no lasītāja un formatē atbilstoši norādītajam formātam.

var ņem virkne

// lasīt datus no dotās virknes
readString := virknes. NewReader ("Šis ir tests")

lasīt, kļūdīties := fmt. Fscanf (lasītājs, "%v", &take)

Šajā gadījumā, Fscanf atkodē virkni no lasītāja uz ņem mainīgais un lasīt mainīgais satur formāta rezultātu.

Virknes formatēšanas darbības vārdi

Go piedāvā daudzus formatēšanas darbības vārdus, kurus varat izmantot kopā ar virknes formatēšanas funkcijām.

Ir vispārīgi virkņu formatēšanas darbības vārdi, piemēram, %v darbības vārds virknes formatēšanas funkciju piemēros. Varat izmantot vispārīgos virkņu formatēšanas darbības vārdus, lai formatētu jebkuru datu tipu.

Jūs varat izmantot %#v darbības vārds, lai izvadītu jebkuru vērtību, the %+v konstrukcijām %T darbības vārds jebkuras vērtības veidam un %% darbības vārds bez vērtībām.

veids jebkura struktūra { 
nosaukums virkne
vecums starpt
isLoggedIn bool
}

var instance = jebkurš {
vārds: "Džons Dū",
vecums: 34,
isLoggedIn: taisnība,
}

var rezultāts = fmt. Sprintf ("Tas ir a struktūra formatēšanas piemērs %+v", instance)
fmt. Println (rezultāts)

The rezultāts mainīgais satur instantiētās struktūras formatēto virkni. Ja to izdrukājat, tam vajadzētu izskatīties apmēram šādi:

Šis ir struktūras formatēšanas piemērs {name: John Doe vecums: 34 isLoggedIn:taisnība}

Ir darbības vārdi konkrētu Go vietējo datu tipu, tostarp kanālu un norādes, formatēšanai.

Darbības vārds Funkcionalitāte
%t Būla vērtības.
%d int, int8 utt.
%d, %#x, ja drukāts ar %#v uint, uint8 utt.
%g float32, komplekss64 utt.
%s virkne.
%p chan.
%P rādītājs.

Jūs vēlaties nodrošināt, lai jūs nepieļautu kļūdas ar darbības vārdiem, jo ​​tie ir reģistrjutīgi, piemēram, chan un rādītājs darbības vārdi.

Veselu skaitļu un pludiņu formatēšana

Ir virkņu formatēšanas darbības vārdi veselu skaitļu formatēšanai dažādas bāzes. Jūs varat izmantot jebkuru no šiem darbības vārdiem, lai formatētu veselus skaitļus

Darbības vārds Funkcionalitāte
%b bāze 2
%c rakstzīme, ko attēlo atbilstošais Unikoda koda punkts.
%d bāze 10.
%o bāze 8.
%O 8. bāze ar 0o prefiksu.
%q burtu burts ar vienu pēdiņu droši aizbēga ar Go sintaksi.
%x 16. pamatne ar mazajiem burtiem a-f.
%X 16. bāze ar lielajiem burtiem A-F.
%U Unikoda formāts: U+1234; tāds pats kā "U+%04X".

Piemēram, jūs varat formatēt veselu skaitli, izmantojot %d darbības vārds:

var rezultāts = fmt. Sprintf("Šis ir vesela skaitļa formatēšanas piemērs %d", 90)
fmt. Println (rezultāts)

Šie ir darbības vārdi peldošā komata skaitļu formatēšanai.

Darbības vārds Funkcionalitāte
%b zinātniskais apzīmējums bez decimāldaļas ar eksponenta pakāpju divi, strconv veidā. FormatFloat ar 'b' formātu, piem. -123456p-78
%e zinātniskais apzīmējums, piem. -1,234456e+78
%E decimālzīme, bet bez eksponenta, piemēram, 123,456
%f decimālzīme, bet bez eksponenta, piemēram, 123,456
%F sinonīms vārdam %f.
%g %e lieliem eksponentiem, %f pretējā gadījumā. Precizitāte zemāk.
%G %E lieliem eksponentiem, %F pretējā gadījumā
%x heksadecimālais apzīmējums (ar divu eksponentu decimālo jaudu), piemēram, -0x1,23abcp+20.
%X heksadecimālais apzīmējums ar lielajiem burtiem, piem. -0X1.23ABCP+20.

Šeit ir piemērs, kā formatēt decimālzīmi bez eksponenta ar %f darbības vārds.

var rezultāts = fmt. Sprintf("Šis ir peldošā komata formatēšanas piemērs % f", 432.9503)
fmt. Println (rezultāts)

Ja neesat pārliecināts par veidu, vienmēr varat izmantot vispārīgos darbības vārdus.

Virkņu un baitu formatēšana

Pakalpojumā Go virknes un baitu veidu daļas ir diezgan līdzīgas. Šie ir karodziņi virkņu un baitu formatēšanai.

Darbības vārds Funkcionalitāte
%s virknes vai šķēles neinterpretētie baiti
%q virkne ar dubultpēdiņu droši izkļuva ar Go sintaksi
%x 16. bāze, mazie burti, divas rakstzīmes katrā baitā
%X 16. bāze, lielie burti, divas rakstzīmes katrā baitā

Šeit ir piemērs virknes formatēšanai ar %s darbības vārds.

var rezultāts = "piemērs"
var rezultāts = fmt. Sprintf ("Tas ir a virkne formatēšanas piemērs %s", rezultāts)
fmt. Println (rezultāts)

Fmt pakotne ir būtiska Python programmēšanai

The fmt pakotne satur lielāko daļu virkņu formatēšanai nepieciešamo funkcionalitātes. Go arī nodrošina a stīgas pakete stīgu manipulācijām un a žurnāls pakotne, kas var formatēt virknes reģistrēšanai.

The fmt pakotnei ir funkcijas, kas īsteno io. rakstnieks un io. Lasītājs saskarnes. Tas noderēs daudzos lietošanas gadījumos, piemēram, tīmekļa un komandrindas lietojumprogrammu veidošanai.