// ByCode returns an custattr.Attributer by code. Use type assertion. func (s AttributeSlice) ByCode(g eav.AttributeGetter, code string) (interface{}, error) { if g == nil { panic("AttributeGetter is nil") } i, err := g.ByCode(code) if err != nil { return nil, errgo.Mask(err) } return s[i], nil }