Golang 框架学习:搭建beego

sunlingbot · · 1958 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

框架简介

beego 是一个快速开发 Go 应用的 HTTP 框架,它可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

我所使用的学习资料:

MVC设计模式

beego是一个典型的MVC设计模式:

  • Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
  • View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
  • Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

mvc

项目结构

beego框架的结构树如下图所示:

├── conf
│   └── app.conf
├── controllers
│   ├── admin
│   └── default.go
├── main.go
├── models
│   └── models.go
├── static
│   ├── css
│   ├── ico
│   ├── img
│   └── js
└── views
    ├── admin
    └── index.tpl 

从上面的目录结构我们可以看出来 M(models 目录)V(views 目录)C(controllers 目录)的结构, main.go 是入口文件,conf是配置文件目录,controllers是控制器目录、model是model文件存放目录、static是静态资源存放目录,views是界面目录。

搭建教程

现在以 Windows 10 + Golang 1.13 + Jetbrains GoLand 为开发环境演示搭建 beego 框架的教程。

  • 安装

打开 Jetbrains GoLand ( PowerShell也可 ) ,在终端 Terminal 输入以下命令下载 beego包,需要挂载代理

 $ go get -u github.com/astaxie/beego
 $ go get -u github.com/beego/bee
  • 配置环境变量(如果事先已经配置好 Golang 的开发环境可以跳过这一步)

新建一个用户变量GOPATH,编辑写上你的Golang工作目录(用于存放开发者的工程项目及第三方包);新建一个用户变量GOROOT,填上你的Golang安装路径(根目录)。

GOPATH

【注】:GOPATH可以自定义位置,GOROOT必须遵从Golang的安装路径。

  • 切换工作目录查看当前包

请注意,开发者的Golang源代码文件和第三方包都被保存在GOPATH的src文件夹下。可切换至工作目录查看beego包是否已经下载成功。

$ cd $GOPATH/src
$ cd github.com
$ ls

ls beego

  • 构建beego项目

bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。

$ bee new beegoProject
$ cd beegoProject
$ bee run

使用 bee new 命令新建一个名为“beegoProject”的项目文件。

bee new

切换至 beegoProject 项目文件夹,可以观察到它的项目树结构如下显示:

ls beegoProject

然后用cd命令切换至文件夹,最后用 bee run 初始化文件夹;如果输出以下信息,证明 beegoProject 项目文件已被初始化成功。

bee run

根据输出信息,返回一个URL:http://127.0.0.1:8080 ,在浏览器打开这个地址,如果能打开这个画面,就证明整个 beego 框架搭建教程就到此结束了!

beego web

学习路线

附:beego 学习路线规划
路线


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:sunlingbot

查看原文:Golang 框架学习:搭建beego

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1958 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传