不能使用Context作为类型“handlerfunc”gin-gonic

时间:2016-09-24 09:06:32

标签: go

这一直困扰着我很长一段时间。我正在使用gin-gonic,每当我尝试使用go run main.go时,总会出现此编译错误:

  

无法使用properties.Pong(类型   func(*“github.com/carlqt/geodude/vendor/github.com/gin-gonic/gin".Context))类型为”github.com/gin-gonic/gin".HandlerFunc in argument to   router.RouterGroup.GET

但是当我使用Visual Studio Code终端并运行go run时,它可以工作。

这是main.go文件https://gist.github.com/carlqt/c5f6b0d127c1ca124cf2fe8d620976a1

这是property.go文件:https://gist.github.com/carlqt/6edadf1dedc63b4b4e231891cae8e9a5

我的项目结构如下所示

enter image description here

修改的 在VS Code和我的终端中为终端添加go env。我会将它们放在屏幕截图上以避免人为错误

VS Code终端: enter image description here

iterm2终端: enter image description here

注意 如果我将属性文件夹中的HandlerFunc函数放到main.go文件中,也可以避免这个问题。

2 个答案:

答案 0 :(得分:1)

好的,抱歉所有这些混乱,但对我有用的是卸载Go并重新安装它。以前,使用Homebrew在我的计算机上安装了Go。当我重新安装它时,我使用了google的mac安装程序。现在一切都很好了。

感谢您的帮助。

答案 1 :(得分:0)

from django.http import HttpResponseRedirect

class ResetPasswordRequestView(FormView):
    template_name = "registration/password_reset_form.html"
    form_class = PasswordResetRequestForm

     def form_valid(self, form):
         data = form.cleaned_data["email_or_username"]
         if self.validate_email_address(data):
              success_url = '/reset/password/email/'
         else:
              success_url = '/reset/password/username/'
         return HttpResponseRedirect(success_url)