Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Matcher ¶
type Matcher struct {
// contains filtered or unexported fields
}
Matcher is returned by NewMatcher and contains a list of blices to match against
func NewMatcher ¶
NewMatcher creates a new Matcher used to match against a set of blices
func NewStringMatcher ¶
NewStringMatcher creates a new Matcher used to match against a set of strings (this is a helper to make initialization easy)
func (*Matcher) Contains ¶
Contains returns true if any string matches. This can be faster than Match() when you do not need to know which words matched.
func (*Matcher) Match ¶
Match searches in for blices and returns all the blices found as indexes into the original dictionary.
This is not thread-safe method, seek for MatchThreadSafe() instead.
Example ¶
m := NewMatcher([][]byte{ []byte("he"), []byte("she"), []byte("his"), []byte("hers"), []byte("she"), }) matches := m.Match([]byte("usher")) fmt.Print(matches)
Output: [4 0]
func (*Matcher) MatchIndex ¶
Example ¶
m := NewMatcher([][]byte{ []byte("he"), []byte("she"), []byte("his"), []byte("hers"), []byte("she"), }) matches := m.MatchIndex([]byte("usher")) fmt.Print(matches)
Output: [{4 1} {0 2}]
func (*Matcher) MatchIndices ¶
Example ¶
matcher := NewMatcher([][]byte{ []byte("he"), []byte("she"), []byte("his"), []byte("hers"), []byte("she"), }) for m := range matcher.MatchIndices([]byte("usher")) { fmt.Printf("%d ", m) }
Output: {4 1} {0 2}
func (*Matcher) MatchThreadSafe ¶
MatchThreadSafe provides the same result as Match() but does it in a thread-safe manner. Uses a sync.Pool of haystacks to track the uniqueness of the result items.