Tema
/
Struktūrinis programavimas GO
Pamoka 7 / 14 Eilutės (tekstas) ~50 min
📖 Teorija

Namų darbas — tekstas tavo programoje

TAVO programa: tvarkingas atvaizdavimas ir teisinga teksto patikra.

Reikalavimai:

  1. Atnaujink formatItem su fmt.Sprintf ir lygiavimu (%-Ns), kad tavo įrašas atrodytų tvarkingai (pavadinimas, skaičius, būsena). Pritaikyk savo temai (filmas, išlaidos, treniruotė…).
  2. Pridėk teksto lauko patikrą pagal simbolių skaičių (utf8.RuneCountInString arba []rune): pavadinimas/vardas negali būti tuščias ir ne ilgesnis nei tavo pasirinkta riba. Bad įvestis — žinutė ir continue.
  3. Skaityk daugiažodį tekstą su readLine, ne fmt.Scanln — kad pavadinimas su tarpais nuskaitomas visas.
  4. Įrodyk spąstą. Pridėk lietuvišką pavadinimą (pvz. „Ąžuolų giraitė") ir parodyk, kad len(title) ir utf8.RuneCountInString(title) grąžina skirtingus skaičius. Patikra turi remtis simboliais.
  5. gofmt + veikiantis go run.

Papildomai (norintiems daugiau): pridėk žymų (tags) lauką — vartotojas įveda „nuotykiai, klasika, 2020", o tu strings.Split + TrimSpace paverti į []string. Parodyk jas per strings.Join.

Atsiskaitymui: kodas + transkriptas, rodantis: (1) lietuvišką pavadinimą, nuskaitytą visą, (2) len vs utf8.RuneCountInString skirtumą tam pačiam pavadinimui, (3) per ilgo pavadinimo atmetimą.

Patarimas. Tavo programa vis dar laiko vieną įrašą. Kita pamoka — antrasis etapas: []Item, ir tavo meniu išmoksta laikyti visą sąrašą — pridėti ir rodyti daug įrašų. Tada ir strings.Builder iš 2 žingsnio pravers: sujungti visą sąrašą į vieną tvarkingą ataskaitą.