快速入门

安装

beego 包含一些示例应用程序以帮您学习并使用 beego 应用框架。

您需要安装 Go 1.1+ 以确保所有功能的正常使用。

你需要安装或者升级 Beego 和 Bee 的开发工具:

  1. $ go get -u github.com/beego/beego/v2
  2. $ go get -u github.com/beego/bee/v2

如果go get时出现package github.com/beego/beego/v2: cannot find package "github.com/beego/beego/v2" in any of:的报错,请先export GO111MODULE=on

为了更加方便的操作,请将 $GOPATH/bin 加入到你的 $PATH 变量中。请确保在此之前您已经添加了 $GOPATH 变量。

  1. # 如果您还没添加 $GOPATH 变量
  2. $ echo 'export GOPATH="$HOME/go"' >> ~/.profile # 或者 ~/.zshrc, ~/.cshrc, 您所使用的sh对应的配置文件
  3. # 如果您已经添加了 $GOPATH 变量
  4. $ echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.profile # 或者 ~/.zshrc, ~/.cshrc, 您所使用的sh对应的配置文件
  5. $ exec $SHELL

想要快速建立一个应用来检测安装?

  1. $ cd $GOPATH/src
  2. $ bee new hello
  3. $ cd hello
  4. $ bee run

Windows 平台下输入:

  1. >cd %GOPATH%/src
  2. >bee new hello
  3. >cd hello
  4. >bee run

这些指令帮助您:

  1. 安装 beego 到您的 $GOPATH 中。
  2. 在您的计算机上安装 Bee 工具。
  3. 创建一个名为 “hello” 的应用程序。
  4. 启动热编译。

一旦程序开始运行,您就可以在浏览器中打开 http://localhost:8080/ 进行访问。

简单示例

下面这个示例程序将会在浏览器中打印 “Hello world”,以此说明使用 beego 构建 Web 应用程序是多么的简单!

  1. package main
  2. import (
  3. "github.com/beego/beego/v2/server/web"
  4. )
  5. type MainController struct {
  6. web.Controller
  7. }
  8. func (this *MainController) Get() {
  9. this.Ctx.WriteString("hello world")
  10. }
  11. func main() {
  12. web.Router("/", &MainController{})
  13. web.Run()
  14. }

把上面的代码保存为 hello.go,然后通过命令行进行编译并执行:

  1. $ go build -o hello hello.go
  2. $ ./hello

这个时候你可以打开你的浏览器,通过这个地址浏览 http://127.0.0.1:8080 返回 “hello world”。

那么上面的代码到底做了些什么呢?

  1. 首先我们导入了包 github.com/beego/beego/v2/server/web。我们知道 Go 语言里面被导入的包会按照深度优先的顺序去执行导入包的初始化(变量和 init 函数,更多详情),beego 包中会初始化一个 BeeAPP 的应用和一些参数。
  2. 定义 Controller,这里我们定义了一个 struct 为 MainController,充分利用了 Go 语言的组合的概念,匿名包含了 web.Controller,这样我们的 MainController 就拥有了 web.Controller 的所有方法。
  3. 定义 RESTful 方法,通过匿名组合之后,其实目前的 MainController 已经拥有了 Get、Post、Delete、Put 等方法,这些方法是分别用来对应用户请求的 Method 函数,如果用户发起的是 POST 请求,那么就执行 Post 函数。所以这里我们定义了 MainController 的 Get 方法用来重写继承的 Get 函数,这样当用户发起 GET 请求的时候就会执行该函数。
  4. 定义 main 函数,所有的 Go 应用程序和 C 语言一样都是 main 函数作为入口,所以我们这里定义了我们应用的入口。
  5. Router 注册路由,路由就是告诉 beego,当用户来请求的时候,该如何去调用相应的 Controller,这里我们注册了请求 / 的时候,请求到 MainController。这里我们需要知道,Router 函数的两个参数函数,第一个是路径,第二个是 Controller 的指针。
  6. Run 应用,最后一步就是把在步骤 1 中初始化的 BeeApp 开启起来,其实就是内部监听了 8080 端口:Go 默认情况会监听你本机所有的 IP 上面的 8080 端口。

停止服务的话,请按 Ctrl+c。

下面为 windows 下的快捷操作批处理文件: 在 %GOPATH%/src 目录下分别创建文件 step1.install-bee.bat 和 step2.new-beego-app.bat。

step1.install-bee.bat 文件内容:

  1. set GOPATH=%~dp0..
  2. go build github.com\beego\bee
  3. copy bee.exe %GOPATH%\bin\bee.exe
  4. del bee.exe
  5. pause

step2.new-beego-app.bat 文件内容:

  1. @echo 设置 App 的值为您的应用文件夹名称
  2. set APP=coscms.com
  3. set GOPATH=%~dp0..
  4. set BEE=%GOPATH%\bin\bee
  5. %BEE% new %APP%
  6. cd %APP%
  7. echo %BEE% run %APP%.exe > run.bat
  8. echo pause >> run.bat
  9. start run.bat
  10. pause
  11. start http://127.0.0.1:8080

依次点击上面创建的两个文件即可快速开启 beego 之旅。 以后只需要到您的应用目录下点击 run.bat 即可。