![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 58
alphaTao
这个作者很懒,什么都没留下…
展开
-
Golang Xorm更新Mysql数据库 结构体内的0值数据未更新
Golang Xorm更新Mysql数据库 结构体内的0值数据未更新原创 2022-09-08 21:00:00 · 1088 阅读 · 0 评论 -
Golang 代码调用可视化工具 go-callvis
Golang 代码调用可视化工具 go-callvis原创 2022-08-15 20:15:00 · 2602 阅读 · 0 评论 -
golang升级到1.18.4版本 遇到的问题
golang升级到1.18.4 编译遇到的问题原创 2022-07-27 15:49:04 · 2103 阅读 · 1 评论 -
golang 除数为0的各种情况
背景以前一直以为除数为0会报错,但却遇到了一次例外,非但没有报错,甚至比较其他小数还成功了。记录一下测试1. int首先试了一下整型数的情况func Test_divInt(t *testing.T) { var a, b int = 0, 0 ans := a / b fmt.Println(ans)}— FAIL: Test_divInt (0.00s)panic: runtime error: integer divide by zero [recovered]panic原创 2021-09-26 11:18:16 · 2320 阅读 · 0 评论 -
Golang 输出excel文件无数据问题解决
问题将数据以excel文件格式输出但是打开文件后没有看到数据使用了github.com/tealeg/xlsx包处理文件地址:https://github.com/tealeg/xlsx代码如下:func Test_excel(t *testing.T) { //创建新的xlsx file := xlsx.NewFile() //创建新的sheet sheet, err := file.AddSheet("test") if err != nil { fmt.Printf(err.原创 2021-02-02 15:56:31 · 1423 阅读 · 0 评论 -
Golang使用chromedp对网页各类操作记录
背景之前使用了chromedp对网页进行了截图操作这次需要对网页的按钮、输入框进行点击和输入操作我们对每一次操作进行截图 可以清晰的看到每次的操作结果备忘参考:https://github.com/chromedp/chromedphttps://pkg.go.dev/github.com/chromedp/chromedp#pkg-overview具体实现先简单的列举一些常见的使用到的api,具体的说明可以参见上面参考链接名字说明Navigate进入某个页面原创 2020-11-02 19:59:34 · 7552 阅读 · 7 评论 -
Golang 数据验证validator
背景在web应用中会碰到各种字段的校验 比如用户名 密码 邮箱等如果按流程顺序校验 代码会很长而且很难看这里可以使用validator包 来帮助对字段的校验记录一下 备忘使用下载包go get github.com/go-playground/validator/v10package mainimport ( "fmt" validator "gopkg.in/go-playground/validator.v9")type User struct { Name原创 2020-09-10 14:58:44 · 1502 阅读 · 0 评论 -
Golang sort包排序算法阅读分析
背景参考:https://www.godoc.org/sort最近使用到了golang中的sort包,于是好奇包内使用了什么排序算法便进去仔细阅读了一下不得不说官方包内对排序的优化的确非常精妙。这里对里面用到的一些算法和逻辑进行一些简单的介绍和备忘源码阅读sort包的使用import( "sort" "fmt")func main(){ data:=[]int{6,4,2,1,4,3} sort.Ints(data) fmt.Println(data) //输出[1 2 3原创 2020-08-22 14:08:20 · 617 阅读 · 0 评论 -
ubuntu使用chromedp截图 发现中文乱码显示框框
背景在服务器上安装了服务,其中有使用chromedp来进行网页截屏在云服务器使用chromedb包需要事先安装chrome##下载源加入到系统的源列表sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/##导入谷歌软件公钥wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo ap原创 2020-07-09 19:33:41 · 1819 阅读 · 0 评论 -
GeoIp2:通过Ip获取地理信息
准备使用GeoIP2对ip地址进行分析需要准备如下1.GeoIP2包地址:https://github.com/oschwald/geoip2-golang2.maxminddb包地址:https://github.com/oschwald/maxminddb-golang3.ip信息数据地址:https://www.maxmind.com/en/accounts/258630/ge...原创 2020-04-10 15:54:10 · 6116 阅读 · 2 评论 -
Golang使用tail重新监视被删除文件
背景之前一篇文章中介绍了使用tail追踪显示日志文件内容。【注】tail包使用方法可以参考上一篇文章之后,遇到了一种特殊情况:被监视的文件会被定期删除(日志过大被删等原因),立即重新创建并写入内容(日志)在代码中重新监视该文件 显示监视了文件(相同文件) 但是并没有获取到写入的新内容方法后来查看了tail包内的内容终于找到需要将之前监视开启的tail kill之后才行以下是模拟代...原创 2020-04-10 15:14:06 · 726 阅读 · 0 评论 -
Golang net/http包 同时监听多个端口
背景 在golang中 需要同时监听多个端口 对http请求进行相同的处理(handler)实现代码如下 很简单func handler1(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello!")}func main() { ports := []string{":25000", ":2...原创 2018-07-25 15:01:28 · 14151 阅读 · 0 评论 -
Golang 通过net/smtp发送邮件 在正文中添加图片(附件/非附件)
背景遇到一个需求 需要发送带有图片的邮件 于是参考:http://www.cnblogs.com/zengchunyun/p/9485444.html 完成了带图片附件的邮件发送功能 但是!! 产品竟然说 图片需要在正文里!!正文!! 个人觉得在附件里很好呀0.0 尝试产品说什么就是什么吧。。 于是疯狂尝试怎么把图片从附件里显示到正文当中multipart类型,...原创 2018-08-22 15:55:13 · 7916 阅读 · 3 评论 -
golang interface{}类型转换 bson.M 遇到莫名其妙的问题
背景从mongo数据库中取出数据以interface{}格式返回,解析返回的数据。1.从mongo中取数据newSession := m.Session.Copy()defer newSession.Close()c := newSession.DB(database).C(collName)if err := c.Find(bson.M{"time": occurtime}).One...原创 2018-09-27 19:43:11 · 6527 阅读 · 0 评论 -
golang 定时任务time.Sleep和time.Tick实现结果比较
参考: https://blog.csdn.net/Star_CSU/article/details/86650684这篇文章中对sleep和tick的原理做了介绍总的来说Sleep是使用睡眠完成定时,结束后继续往下执行循环来实现定时任务。Tick函数是使用channel阻塞当前协程,完成定时任务的执行现在来看一下 两种方法实现出来的效果有何不同这里我们设置定时时长为5使用“Do S...原创 2019-04-19 17:10:47 · 15361 阅读 · 0 评论 -
vscode golang测试文件中 点击(run test)时 默认timeout修改
背景测试是开发过程中相当重要的一部分,能够帮助我们找到已完成的部分功能中出现的错误 并且及时改正。例如 golang代码中 可以在xxx_text.go的测试文件中写如下的测试函数func Test_Timeout(t *testing.T) { fmt.Println("Begin......") time.Sleep(time.Second * 40) fmt.Println("...原创 2019-06-28 16:46:55 · 14583 阅读 · 4 评论 -
pprof 强大的golang性能分析工具使用简介
简介性能分析是优化代码不可避免的一步。而拥有高效清晰的性能分析工具则能让我们事半功倍。PProf就是一款Golang提供的强大代码性能分析,能够非常方便的监控代码运行性能。这里简单的介绍pprof两种使用方式使用net/http/pprof 包 更适合整体分析运行go test时收集相关信息 更适合细节函数分析性能数据采集1.net/http/pprof 包net/http/p...原创 2019-12-04 11:08:13 · 1802 阅读 · 1 评论 -
golang抓包 gopacket使用记录
背景使用谷歌的包github.com/google/gopacket 可以用golang实现网络抓包这里记录了一些使用过程中的问题 以及解决方法备忘 也欢迎大家提出改进意见问题由于gopacket是基于libpcap(数据包捕获函数库)的,所以在一台服务器上使用gopacket必须先安装libpcapsudo apt-get install libpcap-dev如果想要集成...原创 2019-11-07 16:01:02 · 1331 阅读 · 0 评论 -
golang服务发送http请求 400错误 排错备忘
背景客户端 golang服务,使用"net/http"包 内NewRequest(method, url string, body io.Reader)接口发送请求在服务端nginx日志中发现该接口出现400错误解决首先检查了nginx配置是否正确 检查无误后使用curl命令直接调用该接口 发现正常排除了服务端的错误后 会到客户端代码内检查发现method这一参数填写了"Pos...原创 2019-12-17 17:43:27 · 2803 阅读 · 1 评论 -
Golang实现tail追踪显示文件内容
背景使用golang实现追踪某一持续增长的文件(例如:日志文件) 读取内容并分析追踪文件内容 功能与tail一致 这里我们可以使用github.com/hpcloud/tail包地址:https://github.com/hpcloud/tail方法在该包的说明中简洁明了地展示了如何使用t, err := tail.TailFile("/var/log/nginx.log", tail...原创 2020-03-10 19:51:32 · 4764 阅读 · 5 评论