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  }