Go

Go操作MySQL

一 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用database/sql包时必须注入(至少)一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如:MySQL驱动 1.1 下载依赖 go get -u github ... »

qi66 Go

一文带你搞懂Go如何读写Excel文件

目录 1.下载依赖库 2.具体操作 2.1 生成一个新的Excel文件 2.2 向Excel文件中追加内容 2.3 解析Excel文件内容 2.4 使用Http协议上传并解析Excel文件 2.5 使用Http协议将数据转换为Excel文件并下载 3.小总结 Excelize是一个用纯G »

Go prometheus metrics条目自动回收与清理方法

目录 事件背景 现象获取 架构图 问题定位 原理分析 处理方法 最终效果 事件背景 现网上运行着一个自己开发的 metrics exporter,它是专门来捕获后端资源的运行状态,并生成对应的 prometheus metrics 供监控报警系统使用。当然这个 exporter »

Go语言中的for循环使用实例分析

这篇文章主要介绍“Go语言中的for循环使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言中的for循环使用实例分析”文章能帮助大家解决问题。 问题 案例一:取地址符 在 Go 语言中,我们写 for 语句时有时会出现运行和猜想的结果不一致。 »

快速掌握Go语言正/反向代理

先重温一下什么叫反向代理,正向代理。 所谓正向,反向代理取决于代理的是出站请求,还是入站请求。 正向代理: 代理的出站请求, 客户端能感知到代理程序,架构上距离客户端更近。反向代理: 代理的是入站请求,客户端认为代理程序就是服务器,客户端感知不到代理逻辑,架构上距离服务端更近。 前几天利用 »

3min快速掌握Go语言正/反向代理的姿势

先重温一下什么叫反向代理,正向代理。 鹅厂二面,nginx回忆录 所谓正向,反向代理取决于代理的是出站请求,还是入站请求。 正向代理: 代理的出站请求, 客户端能感知到代理程序,架构上距离客户端更近。 反向代理: 代理的是入站请求,客户端认为代理程序就是服务器,客户端感知不到代理逻辑,架构上距离服务 ... »

JulianHuang golang

Go递归函数、函数类型、匿名函数与闭包怎么用

今天小编给大家分享一下Go递归函数、函数类型、匿名函数与闭包怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 1. 递归函数 递归指函数可以直接或间接的调用自身。 递归函数通常有相 »

小白开发程序的一天

技术背景,前后端分离,前端 vue 后端 .Net Core 小白有一个需求,在他费尽千辛万苦之力,写了N行sql才完成的汇总数据报表中,根据表头和首列类别定位的单元格上添加点击事件。点击单元格后,跳转至汇总数据的详细列表。经其分析,详细列表本身带有高级筛选功能,筛选时,会在表格上方显示筛选条件。所 ... »

pocn

Go中调用外部命令的几种方式详解

目录 引子 运行命令 显示输出 显示到标准输出 输出到文件 发送到网络 保存到内存对象中 输出到多个目的地 运行命令,获取输出 分别获取标准输出和标准错误 标准输入 环境变量 检查命令是否存在 封装 总结 参考 引子 在工作中,我时不时地会需要在Go中调用外部命令。前段 »

Go方法接收者值接收者与指针接收者详解

目录 引言 联系与区别 指针类型调用结果 实现接口时约束 该怎么用 引言 在review 一些代码中,发现经常某个类型定义的方法,其接收者既有值类型,又有指针类型,然后 Goland 就有提示: Struct Person has methods on both value and »

go code review 代码调试

目录 Examples Goroutine Lifetimes Handle Errors import Import Blank Import Dot In-Band Errors Indent Error Flow Initialisms Interfaces Line Lengt »

详解Go语言中切片的长度与容量的区别

目录 切片的声明 切片的长度和容量 切片追加元素后长度和容量的变化 append 函数 切片的源代码学习 切片的结构体 切片的扩容 总结 切片的声明 切片可以看成是数组的引用(实际上切片的底层数据结构确实是数组)。在 Go 中,每个数组的大小是固定的,不能随意改变大小,切片可以为数组 »

GO中的单元测试怎么实现

这篇“GO中的单元测试怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“GO中的单元测试怎么实现”文章吧。                   »

Go语言入门之函数的定义与使用

目录 1.前言 2.函数声明 2.1 函数例子 2.2 Go 函数支持多返回值 2.3 变量函数 2.4 闭包 2.5 递归 3.总结 1.前言 函数是一段代码的片段,包含连续的执行语句,它可以将零个或多个输入参数映射到零个或多个参数输出。函数像一个黑盒,对它的使用者隐藏实现细节。还 »

go高并发时append出错怎么解决

今天小编给大家分享一下go高并发时append出错怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 背景 在实现图片转码的需求时,需要支持最大 500 个图片下载后转换格式; 如 »

一篇文章读懂Golang init函数执行顺序

目录 1.init 函数简介 2.执行顺序 2.1 单个源文件的 init 执行顺序 2.2 单个包的 init 执行顺序 2.3 main 包导入多个包时 init 执行顺序 2.3.1 不存在依赖 2.3.2 存在依赖 2.4 包级变量初始化与 init 函数执行顺序 3.小结 参 »

详解Go 依赖管理 go mod tidy

目录 前言 Debug准备 源码的位置 debug 配置文件 dlv启动 执行过程 流程 加载go.mod文件 加载依赖 更新go.mod文件 前言 go mod tidy的作用是把项目所需要的依赖添加到go.mod,并删除go.mod中,没有被项目使用的依赖。 Tidy ma »

go高并发时append方法偶现错误解决分析

目录 背景 排查问题 解决问题 背景 在实现图片转码的需求时,需要支持最大 500 个图片下载后转换格式; 如果是一个一个下载后转码,耗时太长,需要使用 goroutine 实现 500 个图片并发下载后,并发转码; 但自测过程中发现,会偶现下载后只转换了 499 个图片或更少的情况( »

Go 语言单例模式示例详解

目录 简单单例模式 加锁的单例模式 双check 的单例模式 sync.Once 的单例模式 简单单例模式 单例模式是创建类型的模式,它是为了保证执行期间内只有一个实例。使用 Golang 指针可以很容易的实现单例模式,通过指针保持相同的引用。 package singleton ty »

三、Go环境安装

三、Go环境安装 3.1、Go编译器的下载 官网:https://golang.google.cn/go中文网:https://studygolang.com/dl 3.2、安装 for Mac 3.2.1、 mac系统下安装SDK 安装完成以后可以使用终端软件(例如iTerm)中输入go vers ... »