
116 Rozdział 4.
Własne pakiety
Znów powtarzający się kod…
Jeśli znajdziemy błąd w funkcji getFloat,
naprawianie go w dwóch miejscach będzie
kłopotliwe. Jednak funkcja znajduje się
w dwóch różnych programach, dlatego chyba
nic się nie da zrobić…
func getFloat() (float64, error) {
reader := bufio.NewReader(os.Stdin)
input, err := reader.ReadString(‘\n’)
if err != nil {
return 0, err
}
input = strings.TrimSpace(input)
number, err := strconv.ParseFloat(input, 64)
if err != nil {
return 0, err
}
return number, nil
}
A jednak można coś zrobić — przenieść
wspólną funkcję do nowego pakietu!
Go umożliwia definiowanie własnych pakietów. W
rozdziale 1
. zostało ...