![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Golang
文章平均质量分 72
Go语言的学习与实践总结
ppingfann
这个作者很懒,什么都没留下…
展开
-
Go语言内存泄漏问题排查总结
背景我们使用Go语言开发了一个后台服务,在发布测试环境后,发现内存使用量会随着时间的推移持续增加。因此服务的Pod会隔一段时间重启一次,因此,需要排查一下该问题。此文是对排查过程的记录以及排查后的思考总结。环境准备本文假设开发机环境中已经安装了go、pprof、graphviz,并且后台服务中已经集成了pprof。业务中内存泄漏的现象以及排查思路内存泄漏的现象我们将服务发布到测试环境中之后,可以从内存监控的看板中看到,内存使用量随着时间的推移会一直增加,而且会一直达到内存设置的限制并且重启Po原创 2021-06-27 14:33:10 · 2967 阅读 · 1 评论 -
Go语言中sort.Search()的使用方法(数组中通过值来取索引)
方法名sort.Search()使用模板index := sort.Search(n int,f func(i int) bool) int主要功能该函数使用二分查找的方法,会从[0, n)中取出一个值index,index为[0, n)中最小的使函数f(index)为True的值,并且f(index+1)也为True。如果无法找到该index值,则该方法为返回n。常用场景该方法一般用于从一个已经排序的数组中找到某个值所对应的索引。或者从字符串数组中,找到满足某个条件的最小索引值,比如et原创 2020-11-14 13:04:05 · 11136 阅读 · 0 评论 -
Golang的Redis操作
背景本篇博客主要讲解在kubernetes集群中,如何使用go语言对Redis进行操作。 在此之前要有此基础: 1. 安装并会使用go语言 2. 配置好了kubernetes 3. 在kubernetes中配置好了redis service连接使用go连接Redis需要github.com/garyburd/redigo/redis这个包。这里的redigo是一个go语言的redis客户端实原创 2017-08-09 14:07:35 · 2443 阅读 · 0 评论 -
Golang的Mysql操作
背景前面我已经写过一篇关于操作Redis的博客了。这一次写Golang如何操作Mysql。基础:安装并会用Golang安装并配置了kuberneteskubernetes中已经运行了mysql服务例子在讲Mysql的操作之前先上一个小例子 1 package main 2 3 import ( 4 "database/sql" 5 _ "g原创 2017-08-11 11:13:48 · 511 阅读 · 0 评论 -
Golang的值接收者与指针接收者
背景Go语言中有着面向对象的思想,当我们创建了一个类型之后,可以给这个类型添加不同的方法,给类型添加方法的方式类似于创建一个函数,只是在func和函数名中添加一个(类型名 类型)。这个东西就是所谓的接收者,也就是类型作为接收者接收该函数为自己的方法。有时候我们希望可以更改类型中成员变量的值,而有时候我们不希望类型中成员变量的值被改变。这就是Golang中使用值接收者与指针接收者的区别。一个例子...原创 2019-05-23 08:32:45 · 823 阅读 · 0 评论