IMHO It would be simpler to just do:  ``` Go i := 0 postSeparatorFields := strings.FieldsFunc(text[index+3:], func(r rune) bool {   i++   return i < 3 && unicode.IsSpace(r) }) if len(postSeparatorFields) != 3 {   p.Fstype = postSeparatorFields[0]   p.Source = postSeparatorFields[1]   p.VfsOpts = postSeparatorFields[2] } ``` 