pkgs[i].Types.Scope().Names() obj := p.Types.Scope().Lookup(names[i]) 名前付き構造体以外除去 _, ok := obj.(*types.TypeName) named, ok := obj.Type().(*types.Named) namedStruct, ok := named.Underlying().(*types.Struct) Go Conference mini @mocchy 9
ret := fn.Signature().Results() for i := 0; i < ret.Len(); i++ { fnRetType := Deref(ret.At(i).Type()) if types.Identical(fnRetType, returnType) { result = append(result, fn) } } } ポインタはnamedではない →そのままだと取り回しが悪いので実体にしておく Go Conference mini @mocchy 10