3 / 4
Pertvarkyk main.go — meniu ciklas (programa VEIKIA)
Didžioji akimirka: sujungiam for, switch ir įvestį — tavo programa pradeda veikti.
Naujos dalys:
for { ... }— amžinas ciklas: meniu rodomas tol, kol vartotojas išeina.fmt.Scanln(&choice)— perskaito vartotojo įvestį į kintamąjį (kol kas užtenka; galingesnį skaitymą gausim 10 pamokoje).case "q": ... return— išėjimo šaka:returnišeina išmain, taigi programa baigiasi.default:— bloga įvestis gauna žinutę, ciklas sukasi toliau. Programa nelūžta.case "2": it.Read = true— veikia, nesitčia keičiamas tiesiogiaimainviduje (ne per funkcijos kopiją!).
Patikrink — paleisk ir suvesk 1, 2, 1, x, q:
App: Book list
1) Show item 2) Mark read q) Quit
> 1
Book: The Go Programming Language | pages: 380 | read: false
1) Show item 2) Mark read q) Quit
> 2
Marked as read.
1) Show item 2) Mark read q) Quit
> 1
Book: The Go Programming Language | pages: 380 | read: true
1) Show item 2) Mark read q) Quit
> x
Unknown choice — try again.
1) Show item 2) Mark read q) Quit
> q
Bye!
Pastebėk: po 2 įrašas pasikeitė — read: true.
Spąstai. Du būdai gauti amžiną ciklą be išėjimo: pamiršti
qšaką (arbareturn/breakjoje) — programa sukasi amžinai; arba „while" formoje pamiršti keisti sąlygos kintamąjį (for attempts < 5beattempts++). Jei taip nutiko — Ctrl-C terminale nutraukia programą prievarta. Kiekvienas programuotojas tai patiria; svarbu žinoti išėjimą.