![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 76
Gogo-2020
这个作者很懒,什么都没留下…
展开
-
Go语言实战 : API服务器 (8) 中间件
为什么需要中间件我们可能需要对每个请求/返回做一些特定的操作,比如记录请求的 log 信息在返回中插入一个 Header部分接口进行鉴权这些都需要一个统一的入口。这个功能可以通过引入 middleware 中间件来解决。Go 的 net/http 设计的一大特点是特别容易构建中间件。apiserver 所使用的 gin 框架也提供了类似的中间件。gin里面的中间件在 gin 中可以设置 3 种类型的 middleware:全局中间件router := gin.New()// 添加原创 2021-05-23 21:31:26 · 471 阅读 · 0 评论 -
初探Golang(4)-map和流程控制语句
1.mapmap 是引用类型的,如果声明没有初始化值,默认是nil。空的切片是可以直接使用的,因为他有对应的底层数组,空的map不能直接使用。需要先make之后才能使用。//1, 声明map 默认值是nilvar m1 map[key_data_type]value_data_type声明 变量名称 map[key的数据类型]value的数据类型//2,使用make声明m2:=make(map[key_data_type]value_data_type)//3,直接声明并初始化赋值map方法原创 2021-04-30 21:10:00 · 147 阅读 · 2 评论 -
初探Golang(3)-数据类型
Go语言拥有两大数据类型,基本数据类型和复合数据类型。1. 数值类型##有符号整数int8(-128 -> 127)int16(-32768 -> 32767)int32(-2,147,483,648 -> 2,147,483,647)int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)int( 32 位操作系统上32 位,64 位操作系统64 位)##无符号整数uint8(0 ->原创 2021-04-30 20:45:19 · 293 阅读 · 2 评论 -
初探Golang(2)-常量和命名规范
1 命名规范1.1 Go是一门区分大小写的语言。命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。 Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Analysize,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);命名如果以小写字母开头,则对包外是不可见的,但原创 2021-04-30 12:59:51 · 2500 阅读 · 0 评论 -
Go语言实战 : API服务器 (4) 配置文件读取及连接数据库
读取配置文件主函数中增加配置初始化入口先导入viper包在 main 函数中增加了 config.Init(*cfg) 调用,用来初始化配置,cfg 变量值从命令行 flag 传入,可以传值,比如 ./apiserver -c config.yaml,也可以为空,如果为空会默认读取 conf/config.yaml。将相应的配置改成从配置文件读取,例如程序的端口号,ip地址,运行模式import ( ... "github.com/spf13/pflag" "github.com/spf原创 2021-04-22 19:58:26 · 736 阅读 · 0 评论 -
Go语言实战 : API服务器 (3) 服务器雏形
简单API服务器功能实现外部请求对API 服务器健康检查和状态查询,返回响应结果1.API服务器的状态监测以内存状态检测为例,获取当前服务器的健康状况、服务器硬盘、CPU 和内存使用量func RAMCheck(c *gin.Context) { u, _ := mem.VirtualMemory() //获取当前内存占用量 usedMB := int(u.Used) / MB usedGB := int(u.Used) / GB totalMB := int(u.Tota原创 2021-04-22 19:57:23 · 186 阅读 · 0 评论 -
Go语言实战 : API服务器 (2) 运行流程
API服务器流程API服务器的启动流程API服务器对于HTTP请求的处理流程API服务器启动流程解析配置文件初始化logger建立数据库连接设置http连接(设置 Header,注册路由,注册中间件)HTTP 请求处理流程建立连接客户端发送 HTTP 请求后,服务器会根据域名进行域名解析,就是将网站名称转变成 IP 地址。之后通过发起 TCP 的三次握手建立连接,然后发送http请求接收请求API 服务器,在接收到请求之后,首先根据 HTTP 请求行的信息来解析到 H原创 2021-04-22 17:10:40 · 399 阅读 · 1 评论 -
Go语言实战 : API服务器 (1) 技术选型
API是什么?API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数或者接口,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无须访问源码,或理解内部工作机制的细节。怎么实现一个 API 服务器要实现一个 API 服务器,首先要考虑两个方面:API 风格和媒体类型。Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON、XML 和 Protobuf。在 Go API 开发中常用的组合是 g原创 2021-04-21 22:04:37 · 446 阅读 · 0 评论