Gin的快速入门和搭建

文章目录

  • Go的工程
    • 工程架构
    • 技术选型
  • Gin入门

Go的工程

基于Go生态,构建一个支持内容管理,内容加工、内容分发的内容库系统。

  • 内容管理:增删改查
  • 内容加工:例如内容审核、推荐等
  • 内容分发:将内容可以推到不同的业务线

工程架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

技术选型

  • Gin v1.9.1:Go的一个Web框架
  • Go v1.20
  • go-redis v9:Go语言操作Redis
  • gorm v1.25.5:操作MySQL
  • Redis v7.2.0、MySQL 8.2.0
  • goflow v0.1.4:加工流框架

Gin入门

初始化工程

  • 选择目录
  • 选择go版本
  • 配置环境:GOPROXY=https://goproxy.cn,direct
  • 创建工程目录

这里我使用最新版的Go版本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建完目录后,我们需要去设置里面设置一下GOPATH,这里的目录选择一个自己喜欢的目录就好,建议和博主一样

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来创建目录结构

  • cmd:放一个main.go的可以运行的文件
  • internal:工程内部的实现逻辑
  • pkg:外部的包放入其中
  • dao:操作存储资源
  • model:放model工程
  • service:逻辑服务
  • utils:工具方法
  • config:配置加载
  • cache:缓存

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

访问Gin的Git仓库https://github.com/gin-gonic/gin,在这块也可以找到Gin的文档

  1. 下载安装Gin

    go get -u github.com/gin-gonic/gin
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 在刚才的main.go文件输入以下代码,也是Gin文档给出的Hello World代码

    package mainimport ("fmt""github.com/gin-gonic/gin""net/http"
    )func main() {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"message": "ok",})})// 监听并在 0.0.0.0:8080 上启动服务err := r.Run()if err != nil {fmt.Printf("r run error = %v", err)return}
    }
    
  3. 然后我们在终端运行

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  4. 去浏览器访问localhost:8080/ping

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

访问到内容,说明我们的GinHello World就成功了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux进阶的一些操作以及知识点------习题集(实践)

请创建以你姓名全拼的用户luwenhua,将其设置为免密登录,切换到luwenhua用户,打开终端,完成以下操作 (一)bash脚本基础练习 1)第一题:请在终端里定义两个用户变量num120&#xff0c…

C# try catch异常捕获

异常捕获 执行过程:try中的代码没有出现异常,则catch里面不会自行,如果try中代码出现异常,则后面的代码都不执行,直接跳到catch中的代码执行。 // try catch 可以捕获多个错误, try...catch...catch.... …

【HarmonyOS】 多层嵌套对象通过@ObjectLink和@Observed实现渲染更新处理!

【HarmonyOS】 多层嵌套对象通过ObjectLink和Observed实现渲染更新处理! 一、问题背景: 上文讲过 (【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理)对多层嵌套的简单处理,即:深拷贝item数据&…

C++一个StringBad类

设计一个字符串类,下面的代码是一个不好的设计,起名StringBad。 //stringbad.h #pragma once //一个设计有问题的string类 #include <iostream> using namespace std;class StringBad { public:StringBad();//默认构造函数StringBad(const char* s);//构造函数~StringBa…

计算机毕业设计 | springboot+vue会议室管理系统(附源码)

1&#xff0c;绪论 1.1 项目背景 随着企业规模的不断扩大&#xff0c;会议室管理愈加复杂。传统的手工预约会议室的方式已经无法满足现代企业的需求&#xff0c;因此&#xff0c;开发一套会议室系统方案变得尤为重要。会议室系统可以实现会议室的在线预约、会议室资源的有效利…

每日学习一点:Chatgpt使用shell脚本

前言 本章&#xff0c;需要使用一个会写shell脚本的AI&#xff0c;比如chatgpt 4o&#xff0c;和了解shell脚本并会使用 当然这需要使用linux&#xff0c;其他系统当然也可以做到&#xff0c;就自学吧(๑•̀ㅂ•́)و✧ 使用脚本来完成&#xff0c;一些重复任务的自动化 1.了…

MyBatis二、搭建 MyBatis

MyBatis二、搭建 MyBatis 开发环境MySQL 不同版本的注意事项驱动程序&#xff08;Driver&#xff09;JDBC URL连接参数MyBatis配置文件版本兼容性常见问题与解决方案示例&#xff08;MySQL 8.x与MyBatis连接&#xff09; 创建 Maven 工程打包方式&#xff1a;Jar引入依赖创建数…

rman 备份集没有control file的恢复

rman备份文件&#xff0c;而且是备份的数据文件&#xff0c;没有控制文件没有参数文件的备份&#xff0c;所以普通的 &#xff08;1&#xff09; 先恢复控制文件restore controlfile from ‘…bak’; &#xff08;2&#xff09; 然后catalog start with ‘/data/20…

【TB作品】MSP430 G2553 单片机口袋板,电风扇模拟控制系统设计

功能 电风扇模拟控制系统设计 基本要求: 用LED/LCD 显示电风扇的工作状态 (1,2,3,4 四档风力), 显示风类:“自然风”、“常风”和“睡眠风”。 设计 “自然风”“常风”和“睡眠风” 三个风类键用于设置风类 设计一个“摇头”键用于控制电机摇头。 设计一个“定时”键&#x…

慢SQL的治理思路

慢SQL的治理思路 什么是慢SQL慢SQL产生的原因查看慢 SQL 是否开启开启慢 SQL 记录开启慢查询日志分析慢 SQL解决和优化慢SQL的方法 什么是慢SQL 慢 SQL 指的是 MySQL 中执行比较慢的 SQL&#xff0c;排查慢 SQL 最常用的方法是通过慢查询日志来查找慢 SQL。 MySQL 的慢查询日志…

使用element的过渡效果来做动效

transition来做过渡效果&#xff1a; <transition name"el-zoom-in-bottom"><div></div> </transition> name属性&#xff1a; 属性描述el-fade-in-linear淡入淡出匀速&#xff1b;el-fade-in淡入淡出快速&#xff1b;el-zoom-in-center中…

快速排序与归并排序(非递归)

目录 快速排序&#xff08;双指针法&#xff09; 原理 代码 快速排序&#xff08;非递归&#xff09; 原理 代码 归并排序 介绍 优点 缺点 图片 原理 代码 归并排序&#xff08;非递归&#xff09; 代码 快速排序&#xff08;双指针法&#xff09; 快速排序的精…

2024年06月编程语言流行度排名

点击查看最新编程语言流行度排名&#xff08;每月更新&#xff09; 2024年06月编程语言流行度排名 编程语言流行度排名是通过分析在谷歌上搜索语言教程的频率而创建的 一门语言教程被搜索的次数越多&#xff0c;大家就会认为该语言越受欢迎。这是一个领先指标。原始数据来自…

python中的抽象基类详解

在Python中&#xff0c;抽象基类&#xff08;Abstract Base Classes&#xff0c;简称ABCs&#xff09;是一种特殊的类&#xff0c;主要用于定义接口&#xff0c;即一组方法的规范&#xff0c;但不提供这些方法的实现。抽象基类不能被直接实例化&#xff0c;除非其所有抽象方法都…

【30天精通Prometheus:一站式监控实战指南】第15天:ipmi_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们&#x1f44b;   欢迎加入【30天精通Prometheus】专栏&#xff01;&#x1f4da; 在这里&#xff0c;我们将探索Prometheus的强大功能&#xff0c;并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。&#x1f680;   Prometheus是云原生和DevOps的…

(奇幻森林)POLYGON - Enchanted Forest - Nature Biomes - 3D Environment Art by Synty

各种雄伟的树木,装饰着优雅简化的树叶,在头顶形成了一个天堂般的树冠,在苔藓覆盖的森林地面上投下了宁静的咒语。 每一项资产,从引人入胜的环境材料到平缓的波浪状山丘,都经过精心制作,将您带到魔法和自然融合的地方。POLYGON-魔法森林-自然生物技术为数字领域注入真正魔…

60 关于 SegmentFault 的一些场景 (2)

前言 呵呵 此问题主要是来自于 帖子 月经结贴 -- 《Segmentation Fault in Linux》 这里主要也是 结合了作者的相关 case, 来做的一些 调试分享 当然 很多的情况还是 蛮有意思 本文主要问题如下 1. 访问异常堆栈地址1 2. 访问异常堆栈地址2 3. 访问异常堆栈地址3 4. sta…

第三届大湾区算力大会丨暴雨开启数字未来新篇

5月30-31日&#xff0c;韶关市迎来主题为“算启新篇智创未来”的第三届粤港澳大湾区(广东)算力产业大会暨第二届中国算力网大会&#xff0c;活动由广东省人民政府主办&#xff0c;广东省政数局、韶关市人民政府共同承办。暴雨信息作为算力产业发展的重要构建者受邀赴会&#xf…

Java的数据库编程-----JDBC

目录 一.JDBC概念&使用条件&#xff1a; 二.mysql-connector驱动包的下载与导入&#xff1a; 三.JDBC编程&#xff1a; 使用JDBC编程的主要五个步骤&#xff1a; 完整流程1&#xff08;更新update&#xff09;&#xff1a; 完整流程2(查询query)&#xff1a; 一.JDB…

汪小菲直播翻车亲儿子直言麻六记有异味网友热议引爆话题

汪小菲直播翻车&#xff01;亲儿子直言“麻六记”有“异味”&#xff0c;网友热议引爆话题在星光璀璨的娱乐圈&#xff0c;汪小菲一直以家庭幸福、事业有成的形象示人。然而&#xff0c;近日的一场直播让他遭遇了前所未有的尴尬。在直播中&#xff0c;汪小菲兴致勃勃地向观众跨…