利用beego开发网站(三)

今天分享怎么处理你在学习过程中的问题,我觉得学习编程就是一个解决问题的过程,你先清楚原理,然后分析过程,然后解决问题,思路一定要十分的清晰


一,安装工具是出现错误

      一般现在的安装工具都十分的人性化,以前还要自己配置环境变量的,现在安装语言包时,他就会自动配置环境变量,你只要点击运行就成,安装语言包完成时,一定要进行检查,打开cmd工具进行验证,,验证成功了便没有问题。再有就是编译工具的安装,golang会有goroot和gopath的分别,这两个不过是环境变量,只要根据百度的步骤安装成功就成。---------------------我刚开始安装编译工具时觉得十分困难,十分复杂,golang安装成功之后,按照百度写出来第一个golang程序,但是当我在别的目录想运行golang程序时,我就发现运行不起,这个地方不是我遇见的第一个难题,但是这个问题出现之后我觉得golang特别的难学

1:编译工具报的错误如下:

main.go:4:2: cannot find package "gergorWeb/routers" in any of:

        c:\go\src\gergorWeb\routers (from $GOROOT)

        D:\newSeverCode\src\gergorWeb\routers (from $GOPATH)

这个错误是说没有找到引用的包,第一你先检查自己的项目目录下是否存在该文件,假如存在的话我们就查看golang的环境变量,在liteide的导航条下面一点有一个蓝色的Go按钮,你点开,点开之后会弹出一个对话框,管理GOPATH在使用自定义GOPAH的那个地方先打上一个对勾,然后添加目录,将你想运行的项目src上一级目录的位置添加进去,这样完成之后你再运行则没有问题。


2:工具的问题解决之后,便是代码中的问题

假如你按照我之前两篇文章写了里面的例子,你就会发现,你点击运行的时候会报错,因为我昨天写博客的时候还忘记了一个步骤,这样的情况在我以前看别人的博客的时候经常看我,我们从博客上面学习的内容原封不动的放在项目中进行运行会发现运行失败,这个有可能是像我这样的比较迷糊的作者,写着写着写忘记了,还有的是因为你们的语言不在同一个版本,有可能他的版本比较的老,当你遇到这个问题的时候 不要着急,首先要告诉自己镇定。然后再看具体的错误点。


像我前面的错误点报的是:

gergorWeb:runtime error: invalid memory address or nil pointer dereference

这个是网页上面看到的错误信息,并没有什么价值

然后我们看golang的编译工具打印的错误日志

2017/10/31 10:56:04 [I] [asm_amd64.s:2197] http server Running on http://:6060

2017/10/31 10:56:17 [C] [asm_amd64.s:514] the request url is /login

2017/10/31 10:56:17 [C] [asm_amd64.s:514] Handler crashed with error runtime error: invalid memory address or nil pointer dereference

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/runtime/asm_amd64.s:514

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/runtime/panic.go:489

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/runtime/panic.go:63

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/runtime/signal_windows.go:161

2017/10/31 10:56:17 [C] [asm_amd64.s:514] D:/MyDownloads/GregorClegane/src/github.com/astaxie/beego/controller.go:587

2017/10/31 10:56:17 [C] [asm_amd64.s:514] D:/MyDownloads/GregorClegane/src/gergorWeb/controllers/basecontroller.go:13

2017/10/31 10:56:17 [C] [asm_amd64.s:514] D:/MyDownloads/GregorClegane/src/github.com/astaxie/beego/router.go:781

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/net/http/server.go:2568

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/net/http/server.go:1825

2017/10/31 10:56:17 [C] [asm_amd64.s:514] c:/go/src/runtime/asm_amd64.s:2197


在这一大片中我们要发现有用信息

Handler crashed with error runtime error: invalid memory address or nil pointer dereference

2017/10/31 10:56:17 [C] [asm_amd64.s:514] D:/MyDownloads/GregorClegane/src/gergorWeb/controllers/basecontroller.go:13


第一条是错误的原因,第二条是错误的位置,我们找到相应的位置,看到具体的代码是

userLogin := c.GetSession("userLogin")

这个错误是由于我的session没有设置起,beego默认的session是没有打开的,这个时候我们需要在项目运行之初,将session打开
在main.go中的main函数中添加如下代码

beego.BConfig.WebConfig.Session.SessionOn = true
 
  
beego.Run()


二,遇见问题解决问题

假如真的喜欢,就真的坚持吧

你可能感兴趣的:(利用beego开发网站(三))