Files
learngo/14-arrays/exercises/13-word-finder/solution/main.go
2019-10-30 19:41:13 +03:00

50 lines
949 B
Go

// 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"
"strings"
)
const corpus = "lazy cat jumps again and again and again since the beginning this was very important"
func main() {
query := os.Args[1:]
if len(query) == 0 {
fmt.Println("Please give me a word to search.")
return
}
filter := [...]string{
"and", "or", "was", "the", "since", "very",
}
words := strings.Fields(strings.ToLower(corpus))
queries:
for _, q := range query {
q = strings.ToLower(q)
for _, v := range filter {
if q == v {
continue queries
}
}
for i, w := range words {
if q == w {
fmt.Printf("#%-2d: %q\n", i+1, w)
break
}
}
}
}