3 / 4
Pertvarkyk main.go — skaitinis laukas su patikra
Sujungiam abu žingsnius į programą — meniu gauna du naujus punktus.
Kas naujo, lyginant su 5 pamokos versija:
Itemgavo laukąPagesRead int(perskaityti puslapiai).3) Set pages read— pilnas 1 žingsnio šablonas:Scanln→Atoi→ patikra (err != nil || n < 0 || n > it.Pages) → arba išsaugom, arba mandagiai atsisakom.4) Progress—progressPercentfunkcija su teisinga float64 dalyba ir apsauga nuo dalybos iš nulio.formatItemdabar rodo190/380formą.
Patikrink — suvesk 4, 3 + 190, 4, 3 + abc, 1, q:
> 4
Progress: 0.0%
> 3
Pages read: 190
Saved: 190 pages.
> 4
Progress: 50.0%
> 3
Pages read: abc
Not a valid number of pages.
> 1
Book: The Go Programming Language | pages: 190/380 | read: false
> q
Bye!
Esmė matosi antrame 4: 50.0%, ne 0% — dalyba vyksta float64 pasaulyje.
Patarimas. Pakeisk
progressPercentvidujefloat64(it.PagesRead) / float64(it.Pages)įit.PagesRead / it.Pagesir paleisk dar kartą — pamatyk 0% savo akimis. Sugadinti ir pataisyti — geriausias būdas įsiminti.