因为我是从java转到go,代码结构跟我之前用java的很像

在这里只浅显的实战运用,没有过多理论讲解

工作环境:IDE:Goland , Go 1.17.7 框架 Gin+Gorm ,前端VUE

这里不过多讲前端,可以到我的github或者gitee拉取

Go的安装配置

在官网下载完,安装后需要配置两个环境变量

一个是GOROOT,也就是Go安装的文件夹,注意不要定位到 /bin里面

还有一个是GOPATH,这个就是存放工作空间的文件夹

建议在工作空间里先创多一个pkg文件夹,里面就会存放下载的库,gin_vue是我的项目

我用的IDE是Goland,所以里面还需要配置,建议将Goland自动配置的Go环境变量删掉,除非你的库想安装在C盘

快捷键 Crtl+shift+s 进入设置点击GOPATH配置工作环境

安装框架

在项目文件夹路径里输入 cmd 调出黑窗口输入,或者在Goland下面点击Triminal

go get github.com/gin-gonic/gin //后端框架
go get github.com/jinzhu/gorm //数据库框架

项目开始

结构

首先是确定好项目结构,因为之前用过java写后端所以就沿用了一些风格

其中bin是放go编译后的文件的,src就是代码存放的文件。config就是存放一些配置信息的文件

controller是对数据库各个表的操作,一个go文件代表一个表的操作

dbUtils是数据库连接初始化的文件

entiy就是存放数据库各个表里面的字段结构

router就是定义后端给前端的接口文件

utils就是工具类

配置文件

config.yml

ip: 127.0.0.1 #ip地址
user: root #数据库用户的名字
pwd: 123456 #这里数据库用户的密码
db_name: gotest #所连接数据库的名字
db_port: 3306 #连接数据库的端口号

数据库连接

这是我gotest数据库的一个表user的字段,下面基本就是对这个表的操作

var AdminT, UserT, Db *gorm.DB

func Init() {
var c ymlConfig
var dbConfig string
config := c.getYml()
//"root:root123@tcp(127.0.0.1:3306)/test_gorm?charset=utf8mb4&parseTime=True&loc=Local"
dbConfig = config.User + ":" + config.Pwd + "@tcp(" + config.Ip + ":" + config.Db_port + ")/" + config.Db_name + "?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open("mysql", dbConfig)
if err != nil {
panic(err)
} AdminT = db
UserT = db
//绑定数据库表名
UserT.AutoMigrate(&entiy.User{}) }

定义表的结构

我创建了一个表叫做User,struct作为一个映射对象,对应着user里面的字段

对数据库表的操作

这里的c *gin.Context是后端接口传来的信息

ShouldBindJSON就是将结构体传进去,会将前端发送的JSON数据按照结构体进行数据绑定

创建接口

这里就是后端接口的创建,前端访问/user/login 就会访问到这个接口对应的处理函数

初始化

确定后端端口号

拉取项目

目的是vue项目(后端给他配置好的端口号是9292,要是大家改了前面后端的端口号就会通不了),需要提前安装node.js,

https://nodejs.org/en/

一直点击,安装到你指定的文件夹就行了

系统环境 配置 这里的地址是你安装nodejs的地址里面的node_modules

在系统环境变量里双击path 将你的nodejs地址放进去即可

这是我的工程项目,下面放着vue的项目

现在为vue添加构造器 点击画圈地方

按Edit Configuration 进入,点击左上角的+号 找到npm

按照我这里配置一下,基本都是上面涉及到的路径,点击确定

在Goland的命令行中

cd vue
npm install

等安装完就可以点击这里切换前后端运行了

若有其他问题可以在评论区讨论

GO后端开发+VUE实列的更多相关文章

  1. STM32L476RG_中断开发与实列

    本程序的主要功能是实现按键控制灯的亮灭.当灯为灭的状态时按键按下点亮灯,当灯为亮的状态时按键按下熄灭灯,即实现灯的电平翻转操作. 按键扫描是利用 GPIO 下降中断,来监测按键按下动作.并加以消抖操作 ...

  2. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  3. 循序渐进VUE+Element 前端应用开发(30)--- ABP后端和Vue+Element前端结合的分页排序处理

    在很多列表展示数据的场合中,大多数都会需要一个排序的处理,以方便快速查找排序所需的数据,本篇随笔介绍如何结合ABP后端和Vue+Element前端结合的分页排序处理过程. 1.Vue+Element前 ...

  4. web前端开发和后端开发有什么区别?

    web前端分为网页设计师.网页美工.web前端开发工程师 首先网页设计师是对网页的架构.色彩以及网站的整体页面代码负责 网页美工只针对UI这块儿的东西,比如网站是否做的漂亮 web前端开发工程师是负责 ...

  5. .net core webapi 前后端开发分离后的配置和部署

    背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离. B/S  Saas 项目:(这个项目可以理解成个人中心,当然不止这么点功能 ...

  6. Magento2.X 后端开发简要1

    Megento2.X 后端开发简要 根目录位置 组件的根目录是其文件夹和文件所在的组件的顶级目录.根据您安装的MaMeto开发环境,组件的根目录可以位于两个位置: 1.<Magento inst ...

  7. (译)Windows Azure:移动后端开发的主要更新

    Windows Azure:移动后端开发的主要更新 这周我们给Windows Azure释出了一些很棒的更新,让云上的移动应用开发明显的简单了.这 些新功能包括: 移动服务:定制API支持移动服务:G ...

  8. ABP开发框架前后端开发系列---(3)框架的分层和文件组织

    在前面随笔<ABP开发框架前后端开发系列---(2)框架的初步介绍>中,我介绍了ABP应用框架的项目组织情况,以及项目中领域层各个类代码组织,以便基于数据库应用的简化处理.本篇随笔进一步对 ...

  9. vue04 组件化开发 Vue自动化工具

    5. 组件化开发 5.1 组件[component] 组件(Component)是自定义封装的功能.在前端开发过程中,经常出现多个网页的功能是重复的,而且很多不同的网站之间,也存在同样的功能. 而在网 ...

随机推荐

  1. 加密模块hashlib+日志模块logging

    目录 1.hashlib 加密模块 1.hashlib模块基本使用 1.2 详细操作 ①md5加密模式 ②sha256复杂加密模式 ③加盐操作(普通加盐) ④加盐操作(动态加盐) 2.logging ...

  2. PHP面试常考内容之Memcache和Redis(1)

    你好,是我琉忆.继上周(2019.2-11至2-15)发布的"PHP面试常考内容之面向对象"专题后,发布的第二个专题,感谢你的阅读.本周(2019.2-18至2-22)的文章内容点 ...

  3. Android SugarORM(2)

    Android Sugar ORM (2) Android Sugar ORM 实体 1. 创建一个实体类 Sugar ORM在创建一个实体的时候, 仅需要使这个实体类继承于SugarRecord即可 ...

  4. Centos 6 DNS 配置 解决 Unknown host

    测试服务器Maven 打包时遇到了如下的错误 maven.aliyun.com: Name or service not known: Unknown host maven.aliyun.com: N ...

  5. 基于nodejs的阿里云DDNS服务,支持多网卡绑定

    前段几天写的,自用. 想着也许有和我一样需求的同学,所以开源发出来了. 提供阿里云的DDNS设置,支持多网卡多域名绑定. 特性 支持阿里云DDNS设置 支持针对多个线路多个网卡单独设置域名 支持IPv ...

  6. c++基础的记录(随笔记录一些基础的东西)

    1.父类的析构函数为什么要加上virtual关键字. 比如说,父类A,子类B.在A* a = new B()的语句的时候,如果父类析构函数没有virtual,我们在delete指针a的时候,会走父类的 ...

  7. 00_UML图形分类

    1.   描述对象 类图(Class Diagram) 包图(Package Diagram) 对象图(Object Diagram) 组件图(Component Diagram) 部署图(Deplo ...

  8. 教你快速区分传统报表和商业智能BI

    很多人分不清楚,传统报表和商业智能BI之间的区别?有些人认为,BI就是做报表的,其实不然,报表只是BI的一部分,报表是关于过去和现状的展示,而BI是关于如何通过分析数据,帮助决策者找到改变和提高的方案 ...

  9. 图表制作软件哪家强?当属火爆商业智能圈的Smartbi

    图表制作软件选择多吗? 相对来说,统计图表制作软件还是很多的.比如常见的百度图说还有wps和excel都是可以制作好看的统计图的.关键就是看是在怎样的业务场景下使用.一般情况下,如果你对Excel足够 ...

  10. 用 UI 多线程处理 WPF 大量渲染的解决方案

    众所周知, WPF 的 UI 渲染是单线程的,所以如果我们异步或者新建线程去进行数据处理的时候,处理完,想要更新 UI 的时候,需要调用一下 Dispatcher.Invoke,将处理完的数据推入到 ...