github.com/giovannyortegon/go@v0.0.0-20220115155912-8890063f5bdd/MasterGO/Chap01-GO-OS/errors.go (about) 1 package main 2 3 import ( 4 "errors" 5 "fmt" 6 "os" 7 "strconv" 8 ) 9 10 func main() { 11 12 if len(os.Args) == 1 { 13 fmt.Println("Please give one or more floats") 14 os.Exit(1) 15 } 16 17 arguments := os.Args 18 var err error = errors.New("An error") 19 k := 1 20 var n float64 21 22 for err != nil { 23 if k >= len(arguments) { 24 fmt.Println("None of the arguments is a float!") 25 return 26 } 27 28 n, err = strconv.ParseFloat(arguments[k], 64) 29 k++ 30 } 31 32 min, max := n, n 33 34 for i := 2; i < len(arguments); i++ { 35 n, err := strconv.ParseFloat(arguments[i], 64) 36 if err == nil { 37 min = n 38 } 39 40 if n > max { 41 max = n 42 } 43 } 44 45 fmt.Println("Min:", min) 46 fmt.Println("Max:", max) 47 }