Beego框架

一、安裝sqlite3

一、Go 第三方包 go-sqlite3 參考:https://my.oschina.net/Obahua/blog/129689
Mac OS X 經過 Homebrewn 安裝:git

brew install pkgconfig
brew install sqlite3

go get github.com/astaxie/beego
Ubuntu下的安裝老是簡單到爆,執行如下命令便可:github

sudo apt-get install pkg-config
sudo apt-get install sqlite3  
sudo apt-get install libsqlite3-dev

二、 安裝Beego

Beego github主頁:https://github.com/astaxie/beego
博客項目設計:https://github.com/Unknwon/go-web-foundation/blob/v1/lectures/lecture1/lecture1.md
Beego中文文檔:https://beego.me/docs/intro/
Beego安裝方法:https://beego.me/quickstart && https://beego.me/docs/install/ web

go get github.com/astaxie/beego

安裝 Bee 的開發工具:sql

go get -u github.com/beego/bee

常見問題:瀏覽器

git 沒有安裝,請自行安裝不一樣平臺的 git,如何安裝請自行搜索。
git https 沒法獲取,請配置本地的 git,關閉 https 驗證:app

git config --global http.sslVerify false

沒法上網怎麼安裝 beego,目前沒有好的辦法,接下來咱們會整理一個全包下載,每次發佈正式版本都會提供這個全包下載,包含依賴包。框架

爲了更加方便的操做,請將 $GOPATH/bin 加入到你的 $PATH 變量中。請確保在此以前您已經添加了 $GOPATH 變量。ide

若是您還沒添加 $GOPATH 變量函數

$ echo 'export GOPATH="$HOME/go"' >> ~/.profile # 或者 ~/.zshrc, ~/.cshrc, 您所使用的sh對應的配置文件

若是您已經添加了 $GOPATH 變量工具

$ echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.profile # 或者 ~/.zshrc, ~/.cshrc, 您所使用的sh對應的配置文件
$ exec $SHELL

想要快速創建一個應用來檢測安裝?

$ cd $GOPATH/src
$ bee new hello
$ cd hello
$ bee run hello

三、Beego 運行hello world

package main
import(
    "github.com/astaxie/beego"
)

type HomeController struct {
    beego.Controller
}

func (this *HomeController) Get(){
    this.Ctx.WriteString("hello world")
}

func main()  {
    beego.Router("/",&HomeController{})
    beego.Run()
}
$go run test.go
2018/07/18 10:59:09.731 [I] http server Running on http://:8080

瀏覽器訪問:http://localhost:8080/ 返回: hello world

2018/07/18 10:59:32.571 [D] ::1 - - [18/Jul/2018 10:59:32] "GET / HTTP/1.1 200 0" 0.002190  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

那麼上面的代碼到底作了些什麼呢?

  1. 首先咱們導入了包 github.com/astaxie/beego。咱們知道 Go 語言裏面被導入的包會按照深度優先的順序去執行導入包的初始化(變量和 init 函數,更多詳情),beego 包中會初始化一個 BeeAPP 的應用和一些參數。
  2. 定義 Controller,這裏咱們定義了一個 struct 爲 MainController,充分利用了 Go 語言的組合的概念,匿名包含了 beego.Controller,這樣咱們的 MainController 就擁有了 beego.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。

三、Bee工具建立項目並運行

which bee
/Users/daixuan/qbox/go/bin/bee
bee new myapp
bee run myapp
➜  go bee run myapp
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0
2018/07/29 17:08:23 INFO     ▶ 0001 Using 'myapp' as 'appname'
2018/07/29 17:08:23 INFO     ▶ 0002 Initializing watcher...
2018/07/29 17:08:25 SUCCESS  ▶ 0003 Built Successfully!
2018/07/29 17:08:25 INFO     ▶ 0004 Restarting 'myapp'...
2018/07/29 17:08:25 SUCCESS  ▶ 0005 './myapp' is running...
2018/07/29 17:08:25.166 [I] [asm_amd64.s:2337] http server Running on http://:8080

訪問:http://localhost:8080/
Beego框架

相關文章
相關標籤/搜索