Go

PHP转Go实践:xjson解析神器「开源工具集」

前言 近期会更新一系列开源项目的文章,新的一年会和大家做更多的开源项目,也欢迎大家加入进来。 xutil 今天分享的文章源自于开源项目jinzaigo/xutil的封装。 在封装过程中,劲仔将实现原理以及相关实践思考,写成文章分享出来,从而汇总系列文章集合。 PHP转Go 我和劲仔都是PHP转Go, ... »

go微服务PolarisMesh源码解析服务端启动流程

目录 前话 前期准备 正题 polaris-server.yaml 认识 源码组织 Bootstrap 功能模块启用 APIServer 模块初始化 数据缓存模块初始化 资源鉴权模块初始化 命名空间模块模块初始化 服务注册发现、服务治理模块初始化 配置中心模块初始化 前话 pola »

(17)go-micro微服务Prometheus监控

一 Prometheus监控介绍 1.微服务监控系统promethues介绍 是一套开源的监控&报警&时间序列数据库的组合 基本原理是通过HTTP协议周期性抓取被监控组件的状态 适合Docker、 Kubernetes环境的监控系统 2.微服务监控系统promethues工作流程 Prometheu ... »

go sync.Map基本原理深入解析

目录 引言 map 在并发下的问题 map 并发读写异常的例子 使用 sync.Mutex 保证并发安全 使用 sync.RWMutex 保证并发安全 有了读写锁为什么还要有 sync.Map? 使用原子操作替代读锁 锁跟原子操作的性能差多少? sync.Map 里面的原子操作 sync. »

Go语言依赖管理三要素示例解析

目录 背景 GOPATH 模式 GO Vendor模式 Go Module模式 依赖管理三要素 依赖配置 go.mod go mod命令 go get命令 快速使用go module 小结 背景 开发项目时应学会站在巨人的肩膀上,即有效利用开发组件进行或工具提升自己的研发效率 对于 »

Go语言中GORM存取数组/自定义类型数据

目录 GORM存取数组类型数据 一、GORM的自定义类型 1. Scanner/Valuer接口 2. 数组变量 3. 测试 二、实际生产 ​总结 GORM存取数组类型数据 在GORM不支持数组类型变量数据的存取,可以通过GROM的自定义数据类型实现。 一、GORM的自定义类型 »

GO语言操作Elasticsearch示例分享

目录 Elasticsearch简介 连接Elasticsearch 创建索引 创建model结构体 初始化model 创建索引 搜索数据 创建返回结构体 搜索数据 解析数据 修改数据 单条修改 批量修改 删除数据 单条删除 批量删除 Elasticsearch简介 Ela »

Go读取yaml文件到struct类的实现方法

目录 1、yaml文件准备 2、config配置类准备 3、读取配置文件到配置类 3.1、安装Viper组件 3.2、golang** **代码编写 1、yaml文件准备 common: secretid: AKIDxxxxx secretKey: 3xgGxxxx »

Go读取yaml文件到struct类

1、yaml文件准备 common: secretid: AKIDxxxxx secretKey: 3xgGxxxx egion: ap-guangzhou zone: ap-guangzhou-7 InstanceChargeType: POSTPAID_BY_HOUR 2、config配置类准备 ... »

zhouqinxiong go

Go语言中init函数与匿名函数使用浅析

目录 init函数 基本介绍 注意事项和细节 案例 匿名函数 介绍 调用方式 方式1 方式2 init函数 基本介绍 每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用 package mai »

Go语言学习之golang-jwt/jwt的教程分享

目录 一、介绍 二、代码实现 -对称加密 hsa(hash加密) 2.1 加密生成token 2.2 解密token得到原始数据 三、代码实现 -非对称加密 rsa(我们这里使用rsa256) 2.1 生成 rsa 私钥和公钥 2.2 加密生成token 2.2 解密token 一、 »

利用Go语言实现在终端绘制小兔子

目录 前言 创作过程 小兔子模型制作 实现思路 代码 小结 前言 思来想去,使用 Go 语言创作,没有想到好的创意,最后打算在终端动态打印小兔子,给大家拜年! 先来看看效果图: 创作过程 小兔子模型制作 大部分的时间,都花在了画兔子图案的工作上。创建一个 txt »

一文详解Go Http Server原理

目录 从一个 Demo 入手 Http Server 如何处理连接? Http Server 如何处理请求的? 一些前置工作 serve 方法到底干了什么 请求如何路由? 总结 从一个 Demo 入手 俗话说万事开头难,但用 Go 实现一个 Http Server 真不难,简单到 »

Go ORM的封装解决方式详解

目录 背景 Java的orm Go的orm 解决方式 初始化sql 连接数据库 插入语句 查询语句 gplus工具 最后 背景 去年慢慢开始接触了Go语言,也在公司写了几个Go的生产项目。我是从Java转过来的。(其实也不算转,公司用啥,我用啥)在这个过程中,老是想用Java的 »

一文带你了解Go语言如何解析JSON

目录 JSON 解析为结构体 JSON 解析为数组 解析 JSON 嵌入对象 自定义属性名称的映射 非结构化数据的映射 总结 JSON 解析为结构体 JSON 的结构是 key-value,最直观的就是将 JSON 解析为结构体,如下 JSON : { "name": yuzhou »

Go+beego接入OSS上传

路由 f, h, err := c.GetFile("uploadFile") if err != nil { logx.Error("getfile err ", err) rq.ThrowErrorMessage("未找到文件") return } //存到服务器的地址 filePath := ... »

(7)go-micro微服务zap日志配置

一 Zap日志介绍 Zap是在 Go 中实现超快、结构化、分级的日志记录。 Zap日志能够提供下面这些功能: 1、能够将事件记录到文件中,也可以在应用控制台输出 2、日志切割-可以根据文件大小,时间或间隔来切割日志文件 3、支持不同的日志级别。例如 INFO、DEBUG、ERROR等 4、能够打印基 ... »

qi66

go defer return panic 执行顺序示例详解

目录 一、函数中有panic 二、然后将代码中 panic注释掉再执行 三、函数返回的是匿名参数 四、总结: ps:go语言错误和异常处理,panic、defer、recover的执行顺序 一、panic()和recover() 根据代码实例运行结果来总结 说明:定义一个函数,有多个defe »