github.com/aarzilli/tools@v0.0.0-20151123112009-0d27094f75e0/text/levenshtein/obsolete.go (about)

     1  package levenshtein
     2  
     3  import "fmt"
     4  
     5  // Requires type of sl == interface{}
     6  // Would double conversion cost.
     7  // => We have to convert in the calling package.
     8  func convertToEqualer(sl []interface{}) []Equaler {
     9  	var ret = make([]Equaler, 0, len(sl))
    10  	for _, v := range sl {
    11  		cnv, ok := v.(Equaler)
    12  		if !ok {
    13  			panic(fmt.Sprintf("%v %T is not convertible to Equaler interface", v, v))
    14  		}
    15  		ret = append(ret, cnv)
    16  	}
    17  	return ret
    18  }