Java转Go的历程(一):搭建Beego后台

前言:

由于一些情况,我将要舍弃多年使用的Java语言,开始学习Go语言。事实上, 自己在java领域只是一个小学生而已...而Go语言对我来说完全陌生,我甚至在得知自己要转语言时,才第一次听说...闲言少叙,赶紧开始学习吧!


Java转Go的历程(一):搭建Beego后台

由于学习时间较短,我采用直接上手的方式。先搭建起一个Beego框架的后台,看看效果。我觉得这种直观感受,会让人一下子知道它是什么样子。

一、Go语言框架

20 个好用的 Go 语言微服务开发框架 

这篇文章介绍了go语言的开发框架,目前应该是Beego比较多吧。因此,选择从Beego开始入门。

二、运行环境搭建

我使用的代码来自https://github.com/yunnet/gardens,是一个设备监控管理的后台,暂且叫它样例项目吧。

首先运行MySQL(net start mysql)和Redis(D:\researchTool\Redis>redis-server.exe redis.windows.conf),Redis服务开启后不要关闭命令行窗口。

然后打开eclipse,右键main.go,选择Run As->Go Application。

最后通过http://localhost:8080访问。

具体的配置过程可参考https://github.com/lhtzbj12/sdrms

三、Beego项目的结构

一般的文件结构如下面的左图所示。是MVC结构:M(models目录)、V(views目录)、C(controllers目录)的结构。main.go是入口文件。

右图是样例项目中的文件结构。

四、程序从哪里开始运行的

当运行main.go后,程序做了什么呢?首先我们来看一下mian.go的代码,如下图所示。

import()中三个包,前两个用"_"修饰,表示的是匿名导入包,意思是只导入包但不使用包内类型和数值。匿名导入的包与其他方式导入包一样会让导入包编译到可执行文件中,同时,导入包也会触发 init() 函数调用。代码运行的顺序如下图所示。

1.路由机制

在样例项目中的mian.go文件中,我们了解到程序从import开始运行。

_ "github.com/yunnet/gardens/routers"

我们找到这个路径routers文件里只有一个文件:router.go。打开它后发现,有一个初始化函数,样子为下图所示。查阅一些资料后明白,原来这就是路由。路由机制指的是映射 URL 到 controller。其中第一个参数是 URL (用户请求的地址),也就是我们访问的不带任何参数的 URL,第二个参数是对应的 Controller。

如图中第一个路由:

beego.Router("/equipmentoverview/index", &controllers.EquipmentOverviewController{}, "*:Index")

这一行代码的意思是,当用户访问“/equipmentoverview/index”这个URL时,对于后台来说就是找到了EquipmentOverviewController这个Controller。第三个参数指的是请求方法名的对应,使用 httpmethod:funcname 格式来展示。其中,可用的 HTTP Method:

  • *: 包含以下所有的函数
  • get: GET 请求
  • post: POST 请求
  • put: PUT 请求
  • delete: DELETE 请求
  • patch: PATCH 请求
  • options: OPTIONS 请求
  • head: HEAD 请求

那么这里是任意请求都执行controller中的Index函数。那么我们看一下index函数的功能是什么。同时,我们打开网页,看看这个网页的样子及功能。

从上面两张图可以看出,pageTitle是网页的名字,通过这种方式定义。其他几行代码,以我现在的能力还不能看懂...继续学习!

 

 

 

 

本文参考:

https://blog.csdn.net/enweitech/article/details/79347754

https://www.cnblogs.com/flying1819/articles/8832667.html

https://www.jianshu.com/p/417fcc5841f8

http://c.biancheng.net/view/91.html

https://beego.me/docs/mvc/controller/router.md

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值