我有以下代码:
type routeVerifier struct {
route *[]Route
}
func (r *routeVerifier) checkUriDuplication(comparer *[]Route, uri string) error {
for _, e := range *comparer {
if e.Uri == uri {
msg := fmt.Sprintf("The uri %s already exist", uri)
return errors.New(msg)
}
}
return nil
}
func (r *routeVerifier) validate() routesErrorLogger {
errors := routesErrorLogger{}
for i, e := range *r.route {
error := newRouteErrorLogger(e.Uri)
if err := r.checkUri(e.Uri); err != nil {
error.add(err)
}
if err := r.checkUriDuplication(r.route[i:], e.Uri); err != nil {
error.add(err)
}
mv := newMethodsVerifier(&e.Methods)
if err := mv.validate(); len(err) > 0 {
}
}
}
编译器抱怨:
descriptor/route_verifier.go:55:42: cannot slice r.route (type *[]Route)
我究竟做错了什么?
杨魅力
红糖糍粑
随时随地看视频慕课网APP
相关分类