min_max.go 553 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Q13_1_max.go
  2. package main
  3. import (
  4. "fmt"
  5. "math"
  6. )
  7. func main() {
  8. sl1 := []int{78, 34, 643, 12, 90, 492, 13, 2}
  9. max := maxSlice(sl1)
  10. fmt.Printf("The maximum is %d\n", max)
  11. min := minSlice(sl1)
  12. fmt.Printf("The minimum is %d\n", min)
  13. }
  14. func maxSlice(sl []int) (max int) {
  15. for _, v := range sl {
  16. if v > max {
  17. max = v
  18. }
  19. }
  20. return
  21. }
  22. func minSlice(sl []int) (min int) {
  23. // min = int(^uint(0) >> 1)
  24. min = math.MaxInt32
  25. for _, v := range sl {
  26. if v < min {
  27. min = v
  28. }
  29. }
  30. return
  31. }
  32. /* Output:
  33. The maximum is 643
  34. The minimum is 2
  35. */