// Copyright © 2018 Inanc Gumus // Learn Go Programming Course // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ // // For more tutorials : https://learngoprogramming.com // In-person training : https://www.linkedin.com/in/inancgumus/ // Follow me on twitter: https://twitter.com/inancgumus package main import ( "fmt" "os" "strconv" ) func main() { ships := []string{"Normandy", "Verrikan", "Nexus", "Warsaw"} fmt.Printf("%q\n\n", ships) from, to := 0, len(ships) switch poss := os.Args[1:]; len(poss) { default: fallthrough case 0: fmt.Println("Provide only the [starting] and [stopping] positions") return case 2: to, _ = strconv.Atoi(poss[1]) fallthrough case 1: from, _ = strconv.Atoi(poss[0]) } if l := len(ships); from < 0 || from > l || to > l || from > to { fmt.Println("Wrong positions") return } fmt.Println(ships[from:to]) }