1 / 4 📖 Teorija
Kas yra funkcija
Pereitą pamoką pažadėjom: spausdinimo nustosime kartoti. Įrankis tam — funkcija: pavadintas kodo gabalas, kurį parašai kartą ir kvieti kiek nori kartų.
func formatItem(title string, pages int, read bool) string {
return fmt.Sprintf("Book: %s | pages: %d | read: %v", title, pages, read)
}
Anatomija:
func+ vardas — kaip kintamasis, tik saugo veiksmą, ne reikšmę.- Parametrai skliaustuose — įėjimai su tipais:
title string, pages int, read bool. - Grąžinimo tipas po skliaustų — kas išeina: čia
string. return— atiduoda rezultatą kviečiančiajam.
Kviečiama taip: line := formatItem("Dune", 412, true) — parametrai užsipildo iš argumentų ta pačia tvarka.
Sritis (scope): parametrai ir viduje sukurti kintamieji gyvena tik tarp funkcijos { }. Išėjus iš funkcijos jų nebėra — todėl dvi funkcijos gali ramiai turėti kintamąjį vienodu vardu.
Kurso taisyklė nuo šiandien: main beveik nieko nedaro pati — tik kviečia funkcijas. Logika gyvena funkcijose su aiškiais vardais.