package main import ( "fmt" "math" "os" "slices" "strconv" ) func main() { args := os.Args if len(args) == 1 { fmt.Println("Need one or more arguments!") return } var validArgs = make([]float64, 0, len(args) - 1) var sumValue float64 for i := 1; i < len(args); i++ { n, err := strconv.ParseFloat(args[i], 64) if err != nil { continue } validArgs = append(validArgs, n) sumValue += n } // Number of values, Min value, Max value count := len(validArgs) minValue := slices.Min(validArgs) maxValue := slices.Max(validArgs) fmt.Println("Number of values: ", count) fmt.Println("Min: ", minValue) fmt.Println("Max: ", maxValue) // Mean value if count == 0 { return } meanValue := sumValue / float64(count) fmt.Printf("Mean value: %.5f\n", meanValue) // Standard deviation var squared float64 for _, n := range validArgs { squared += math.Pow(n - meanValue, 2) } sd := math.Sqrt(squared / float64(count)) fmt.Printf("Standard deviation: %.5f\n", sd) }
标签:count,stats,float64,fmt,args,len,validArgs,Zgo,go From: https://www.cnblogs.com/zhangzhihui/p/18240714