const initials … type initialPatternHolder … func newInitialPatternHolder() initialPatternHolder { … } func (h *initialPatternHolder) add(pattern string) { … } func (h initialPatternHolder) match(path string, isDir bool) bool { … } type initialPatterns … func (p *initialPatterns) set(initial byte, pattern pattern) { … } func (p initialPatterns) get(initial byte) (*patterns, bool) { … } func (p initialPatterns) size() int { … }