package main import ( "fmt" "strings" ) func main() { fmt.Println(strstr("Hello how how are you", "How")) } func strstr(haystack string, needle string) []int { if len(haystack) <= 0 { return []int{0} } var positions = make([]int, 0) var ( i int j int index int ) var needleLength = len(needle) for i = 0; i < len(haystack); i++ { index = i j = 0 for strings.ToLower(string(haystack[index])) == strings.ToLower(string(needle[j])) { if j == needleLength-1 { positions = append(positions, i) j = 0 } index++ j++ } } return positions }