From 95241405da1bb5de678881fe817da254ae9c51c8 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Fri, 10 Nov 2023 12:53:12 -0500 Subject: [PATCH] made averageCalc variadic --- playground/averageHeadFirstVariadic.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 playground/averageHeadFirstVariadic.go diff --git a/playground/averageHeadFirstVariadic.go b/playground/averageHeadFirstVariadic.go new file mode 100644 index 0000000..b68ce90 --- /dev/null +++ b/playground/averageHeadFirstVariadic.go @@ -0,0 +1,26 @@ +package main + +import ( + "fmt" + "os" + "strconv" +) + +func averageCalc(numbers ...float64) float64 { + var sum float64 = 0 + for _, number := range numbers { + sum += number + } + return sum / float64(len(numbers)) +} + +func averageHeadFirstVariadic() { + arguments := os.Args[1:] + var numbers []float64 + for _, argument := range arguments { + number, err := strconv.ParseFloat(argument, 64) + Error(err) + numbers = append(numbers, number) + } + fmt.Printf("Average: %0.2\n", averageCalc(numbers...)) +}