Exercises & activities from the go workshop provided by Packt: https://courses.packtpub.com/courses/go
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
714 B

  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. )
  6. func getPassedArgs(minArgs int) []string {
  7. if len(os.Args) < minArgs {
  8. fmt.Printf("At least %v arguments are needed\n", minArgs)
  9. os.Exit(1)
  10. }
  11. var args []string
  12. for i := 1; i < len(os.Args); i++ {
  13. args = append(args, os.Args[i])
  14. }
  15. return args
  16. }
  17. func findLongest(args []string) string {
  18. var longest string
  19. for i := 0; i < len(args); i++ {
  20. if len(args[i]) > len(longest) {
  21. longest = args[i]
  22. }
  23. }
  24. return longest
  25. }
  26. func main() {
  27. if longest := findLongest(getPassedArgs(3)); len(longest) > 0 {
  28. fmt.Println("The longest word passed was:", longest)
  29. } else {
  30. fmt.Println("There was an error")
  31. os.Exit(1)
  32. }
  33. }