[backend]GoLang Learn Data Day 2

原帖地址:https://www.cnblogs.com/Reisentyan/p/19791769

企业训练营上得人憔悴,不是太难,也不是很简单,刚刚好有点听不懂。大概是会的不用听,不会的听不懂的程度。

所以上课的时候就有些摆烂了,摆烂就更不懂了。

其实大多以记忆为主,毕竟没人会去背这种东西吧。

于是回来后累了,继续搓实验室项目,这下真的得加速了,似乎没人参与维护,我也不大会,让ai当我最利的剑如何?

构建

首先,我们需要初始化项目并拉取必要的依赖。就在本地文件夹执行就行了

bash 复制代码
go mod init scuec-lab-platform-backend
go get github.com/gin-gonic/gin
go get github.com/gin-contrib/cors
命令 作用说明
go mod init ... 初始化 Go 项目的依赖管理文件(go.mod)。
go get github.com/gin-gonic/gin 安装 Gin 框架的核心依赖。
go get github.com/gin-contrib/cors 安装 CORS 中间件,用于处理跨域问题。

基础请求

对于 main.go 文件来说,一个包含跨域和基础接口的后端大门是这样构建的:

go 复制代码
r := gin.Default() 
// 创建一个 Gin 路由引擎。可以把它理解为"网站后端的大门管理员"

// 允许前端跨域访问
r.Use(cors.Default())

// 最简单的测试接口
r.GET("/ping", func(c *gin.Context) {
    c.JSON(http.StatusOK, gin.H{
        "message": "pong",
    })
})

这段代码看似简单,其实包含了很多核心概念:

  • 路由对象 r :r 是一个路由对象,GET 是 Gin 对象上的一个方法。本质上我们是在调用 r 对象的方法来注册一个接口。
  • 接口路径 "/ping" :当用户在浏览器或前端访问 http://localhost:3000/ping 时,管理员 r 就会将其匹配到这里的逻辑。
  • 处理函数 func(c \*gin.Context) :这是接口被访问时执行的逻辑。它接收一个名为 c 的参数,类型是 *gin.Context(Gin 的上下文对象,包含了请求和响应的所有信息)。

什么是 c.JSON 和 gin.H?

go 复制代码
c.JSON(http.StatusOK, ...)

这句话的意思很直接:用 200 (OK) 状态码向前端返回一段 JSON 格式的数据。

而 gin.H{ ... } 是 Gin 提供的一种非常方便的简写写法。

go 复制代码
gin.H{
    "message": "pong",
}

在 Go 语言中,它的本质就是一个键值对 Map:map[string]interface{}。使用 gin.H 可以让你少打很多字。

常用请求方式

除了 GET 接口,后端与前端的交互还有很多其他请求,常见的有:

  • GET:获取数据(读)。
  • POST:新建数据(写)。
  • PUT:整体更新数据。
  • PATCH:部分更新数据。
  • DELETE:删除数据。
  • OPTIONS:预检请求(通常在跨域时浏览器会自动发起)。

或许这一篇文章都不能算是后端练习,怎么说呢?把vue3还有postgresql也加进来了。

一个完整的项目确实有点难搞,又多又杂,而且我还要编写环境文档,接口文档。目前不知道该怎么做。

再怎么说,成功将前端后端服务器连起来了。算是人类的一小步(

相关推荐
JavaGuide1 小时前
DeepSeek Harness 重磅更新,Codex、Claude Code 子智能体进官方插件列表了,还有 Git 工作树和思考翻译!
前端·后端
wewowilling1 小时前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数
小羊没烦恼!1 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
棉猴1 小时前
玩游戏学Python5-函数
开发语言·python·函数·玩游戏·游戏编程
Rain的Java大神之路2 小时前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程
高频因子挖掘机2 小时前
A股分钟K线数据占内存:先缩小请求范围,还是换 DataFrame 工具?
后端·github·api
高级程序源2 小时前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计
谢亮_vipxieliang2 小时前
JavaScript this 指向完全指南:调用位置决定一切
开发语言·javascript·ecmascript
denlaku2 小时前
JDK 13 新特性详解
java·开发语言
打工仔折腾 AI2 小时前
极空间用 Docker 部署 Photopea:网页版 PS 的私有化实践
运维·后端·python·docker·容器·langchain·ai agent 实战