Files

50 lines
1.2 KiB
Go
Raw Permalink Normal View History

2019-05-05 00:41:44 +03:00
// Copyright © 2018 Inanc Gumus
// Learn Go Programming Course
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
//
2019-10-30 19:34:44 +03:00
// For more tutorials : https://learngoprogramming.com
// In-person training : https://www.linkedin.com/in/inancgumus/
// Follow me on twitter: https://twitter.com/inancgumus
2019-05-05 00:41:44 +03:00
package main
import (
"fmt"
"os"
"sort"
)
func main() {
houses := map[string][]string{
"gryffindor": {"weasley", "hagrid", "dumbledore", "lupin"},
"hufflepuf": {"wenlock", "scamander", "helga", "diggory", "bobo"},
"ravenclaw": {"flitwick", "bagnold", "wildsmith", "montmorency"},
"slytherin": {"horace", "nigellus", "higgs", "bobo", "scorpius"},
"bobo": {"wizardry", "unwanted"},
}
2019-05-05 00:47:55 +03:00
// remove the "bobo" house
2019-05-05 00:41:44 +03:00
delete(houses, "bobo")
args := os.Args[1:]
if len(args) < 1 {
fmt.Println("Please type a Hogwarts house name.")
return
}
house, students := args[0], houses[args[0]]
if students == nil {
fmt.Printf("Sorry. I don't know anything about %q.\n", house)
return
}
// only sort the clone
clone := append([]string(nil), students...)
sort.Strings(clone)
fmt.Printf("~~~ %s students ~~~\n\n", house)
for _, student := range clone {
fmt.Printf("\t+ %s\n", student)
}
}