3.Golang面试题—Gin框架、sqlx

news/2024/11/24 16:50:31/

本文目录如下:

    • 九、Gin框架
      • 简单介绍一下 Gin 框架 (为什么选择Gin框架)?
      • Gin框架的开发步骤?
      • YAML 配置的优势在哪里 ?
      • 什么是 viper?
      • 什么是JWT?
      • Gin框架中如何使用Token?
      • 简单介绍下 Gin语言 中的中间件?
      • 中间件 middlewares 怎么使用的,中间件有几种类型?
      • Gin框架的 route 实现原理?
      • Gin框架 响应请求方式有哪几种?
      • Gin框架 中 Gin.H 代表什么意思?
      • Gin框架 传输文件使用什么方法?
      • Gin框架中怎么实现 参数校验?
      • Gin框架如何实现跨域?
    • 十、sqlx

九、Gin框架

简单介绍一下 Gin 框架 (为什么选择Gin框架)?

  • Gin框架 是基于 Go语言 开发的一个 轻量级Web应用开发框架
  • Gin框架 由于使用 http 实现 路由机制,所以 性能很好

Gin框架的开发步骤?

  • 1.加载配置: 通过 github.com/spf13/viper 指定 配置文件,并从 配置文件 中加载 配置信息
  • 2.初始化 MySQL 配置、Redis 配置、日志 配置等。
  • 3.初始化路由配置注册路由
  • 4.启动项目: r.Run()

YAML 配置的优势在哪里 ?

  • 1.减少了重复的前缀
  • 2.有层级感,方便阅读
  • 3.支持数组

什么是 viper?

viper 是基于 Go语言 实现的 配置解决方案


什么是JWT?

点击查看

  • JWT 全称 JSON Web Token,它规定了一种 Token 实现方式,目前多用于前后端分离项目场景下。
  • JWT 由三部分组成: 头部载荷签证

Gin框架中如何使用Token?

  • 用户登录 时,根据 用户信息 生成 token码,并将 token码 传递给 前端
  • 当用户再次发送请求时,请求连接中会包含用户对应的 token码JWT中间件 会在接收到请求之后自动从 token码 中解析出用户信息,并放入请求的上下文 c 中。

简单介绍下 Gin语言 中的中间件?

中间件middlewaresGin框架 起到了 功能层 的作用。当用户提交了 数据请求 时,功能层 负责将这些请求进行 预处理,再向数据库发出 数据交互


中间件 middlewares 怎么使用的,中间件有几种类型?

点击查看

中间件 middlewares 使用 use 方法。中间件按 作用范围 可分为三种:

  • 全局中间件: 例: router.Use(Logger(), Recovery())
  • 路由组中间件: 例: userRouter := router.Group(“/user”, CookieMiddleware())
  • 单个路由中间件: 例: router.GET(“/login”, LoginMiddleware, loginHandler)

Gin框架的 route 实现原理?

  • gin 的每种方法 (POST, GET …) 都有自己的一颗 路由树
  • gin 收到客户端的请求时, 会去 路由树 里根据 URL 找到相关的 处理函数handler)。

Gin框架 响应请求方式有哪几种?

点击查看

字符串方式: c.String(http.StatusOK, “hello world”)
json格式: c.JSON(http.StatusOK, gin.H{ })


Gin框架 中 Gin.H 代表什么意思?

  • gin.H 实际上就是 map[string]interface{}
  • 引入 gin.H 可以简化生成 json 的方式,gin.H 可以嵌套使用。

Gin框架 传输文件使用什么方法?

单文件上传、多文件上传

  • 上传文件: c.SaveUploadedFile(myFile, “./”+myFile.Filename)
  • 给前端返回文件: c.File(“./” + myFile.Filename)

Gin框架中怎么实现 参数校验?

参数校验

  • Gin框架 使用 github.com/go-playground/validator 进行 参数校验
  • struct 结构体 添加 binding 标签,然后调用 ShouldBing 方法。

Gin框架如何实现跨域?

Gin框架跨域问题

  • 使用官网提供的插件: github.com/gin-contrib/cors
  • 写一个 中间件 来配置 跨域

十、sqlx



http://www.ppmy.cn/news/22855.html

相关文章

纯css实现3d立方体旋转相册

前言 现如今网页越来越趋近于动画,相信大家平时浏览网页或多或少都能看到一些动画效果,今天我们来做一个有意思的动画效果,通过 css3 实现 3d 效果的立方体相册,下面一起看看吧。 实现思路 首先我们要确定好 html 的结构以及要使…

海量电商商品图片模板,在线就能轻松设计

节日礼物类的商品要如何设计主图?如何设计和美化礼品主图才能让顾客产生购买的想法?今天跟着小编的设计教程,教你如何使用在线工具乔拓云,轻松设计电商商品的主图!不用自己动手排版轻松出图,跟着小编下面的图文教学一…

. netCore NLog 自定义Render总结

NLog 自定义Render总结 Nlog在格式化输出日志过程中,如果变量不够用,则需要自定义变量实现。具体自定义变量也很简单,只需添加自定义LayOutRenderer即可。具体实现步骤如下: 第一步:继承抽象类LayoutRenderer [Layo…

【算法基础】高精度乘法

👦个人主页:Weraphael ✍🏻作者简介:目前是C语言 算法学习者 ✈️专栏:【C/C】算法 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…

python爬虫--requests简介

一:requests的概念 简单来说,爬虫由获取网页和解析网页获取数据组成,reqiuests模块就是用来获取网页的,当然requests模块时第三方模块,需要下载导入(winr--->pip install requests),另外 使…

Ubuntu 22.04更新源报错404 Not Found

拉取软件源报错: E: Failed to fetch http://mirrors.aliyun.com/ubuntu/dists/jammy/main/binary-arm64/Packages 404 Not Found [IP: 140.249.32.239 80] E: Failed to fetch http://mirrors.aliyun.com/ubuntu/dists/jammy-security/main/binary-arm64/Packages…

Vue极简使用

Vue安装Vue模板语法安装Vue 安装nodejs 这里我安装的是14.5.4版本 https://nodejs.org/download/release/v14.15.4/解压后配置一下环境变量就行 安装cnpm镜像 (这个安装的版本可能过高,后面安装Vue可能出问题) npm install -g cnpm --registryhttps://registry…

王道操作系统笔记(六)——— 死锁的处理策略

文章目录一、死锁的概念1.1 死锁的定义1.2 死锁、饥饿、死循环的区别1.3 死锁产生的必要条件1.4 死锁发生的时机二、死锁的处理策略2.1 死锁预防2.2 死锁避免2.2.1 系统安全状态2.2.2 银行家算法2.2.3 典型例题2.3 死锁的检测和解除2.3.1 资源分配图2.3.2 死锁定理2.3.3 死锁解…