golang中cat输出乱码问题解决方法

今天遇到个问题,排查日志文件返回的结果集,使用如命令: cat xxx.log | grep '2021-03-07' | grep 'abc' | grep 110发现输出的中文乱码,vim查看文件编码:vim xxx...

用Go+WebSocket快速实现一个chat服务

前言
在 go-zero 开源之后,非常多的用户询问是否可以支持以及什么时候支持 websocket,终于在 v1.1.6 里面我们从框架层面让websocket 的支持落地了,下面我们就以 chat 作为一个...

一文搞懂如何实现Go 超时控制

为什么需要超时控制?
请求时间过长,用户侧可能已经离开本页面了,服务端还在消耗资源处理,得到的结果没有意义 过长时间的服务端处理会占用过多资源,导致并发能力下降,甚至出现...

golang中的空接口使用详解

1、空接口Golang 中的接口可以不定义任何方法,没有定义任何方法的接口就是空接口。空接口表示,没有任何约束,因此任何类型变量都可以实现空接口。空接口在实际项目中用的是非常...

在 Golang 中实现 Cache::remember 方法详解

项目需要把部分代码移植到 Golang , 之前用 Laravel 封装的写起来很舒服,在 Golang 里只能自动动手实现.
一开始想的是使用 interface 实现,但是遇到了一个坑, Golang 里的...

详解Json序列化在golang中的应用

关于我golang对json序列化和反序列化的操作实在是难受,所以说用习惯了高级语言特性,再转到这些偏原生的写法上就会很难受。不多BB,开始记录。序列化库的选择当写个小demo或者做...

go自动下载所有的依赖包go module使用详解

今天在学习dubbo-go的时候,下载了dubbo-go的example,依赖的包太多了,之前都是手动下载某个依赖的包,现在手动一个一个 go get 那太麻烦了。因为我是搞java的,刚开始用go的时...

Go语言strconv包实现字符串和数值类型的相互转换

在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string、int、int64、float 等数据类型之间的转换,Go语言中的 strconv 包为我们提供了字符串和基本数据类型之间的...

详解使用air自动重载代码

安装Air(windows)(1)、在https://github.com/cosmtrek/air/releases处可以下载Air,放其入GO的安装目录下的bin目录,重命名为air.exe(2)、在windows命令窗口下,也可以使用curl -fL...

golang 中signal包的Notify用法说明

函数声明为:func Notify(c chan<- os.Signal, sig ...os.Signal)官方描述:Notify函数让signal包将输入信号转发到c。如果没有列出要传递的信号,会将所有输入信号传递到c;否则只...

golang监听文件变化的实例

废话不多说,直接上官网demopackage mainimport ( "log" "github.com/fsnotify/fsnotify")func main() { watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal...

解决Golang小数float64在实际工程中加减乘除的精度问题

GO语言的float64类型在做加减乘除时会出现一些问题比如乘法运算,实例,将小数的元转换成整数的分:发现将小数的元乘以100后强制转换为整数分,少了1分解决办法:var (a, b float64c...

Go 使用Unmarshal将json赋给struct出错的原因及解决

例如:将json:{ "name": "Laura" "age": "18"}赋给struct:type PersonalInfo struct { Name string `json:"name"` Age string `json:"age"`}用语句:person := PersonalInfo{}err...

golang中json小谈之字符串转浮点数的操作

有时会有这种需求,将一个json数据形如:{"x":"golang", "y":"520.1314"}中的y反序列化为浮点类型,如果这样写:package mainimport ( "encoding/json" "fmt")type JsonTest stru...

GoPath模式和GoMoudle模式的相爱相杀

相信看我文章的文章的童鞋,golang版本已经是1.3版本以上。如果你的版本还停留在1.3以下,那这篇文章可以做为你的提升之法。go moudle的前世今生前世-gopathgopath是什么GOPATH...

go语言slice怎么删除元素

golang slice删除元素一、删除单个元素func main() { seq := []string{"a", "b", "c", "d", "e"} // 指定删除位置 index := 2 // 将删除点前后的...

go语言vim怎么设置

golang vim 插件设置多数情况使用vim编写golang代码,需要有语法高亮显示以及自动format。为此需要给vim编辑器增加支持golang语法的插件,插件配置的方法如下:1、下载vim插件管...

go语言适合并发的原因是什么

go语言适合并发的原因Go 是一种非常高效的语言,高度支持并发性。Go语言可以说是开发效率和运行效率二者的完美融合,天生的并发编程支持。Go语言支持当前所有的编程范式,包括过...

go语言的scan方法有什么用

Scan系列Go语言fmt包下有fmt.Scan、fmt.Scanf、fmt.Scanln三个函数,可以在程序运行过程中从标准输入获取用户的输入。fmt.Scan语法func Scan(a ...interface{}) (n int, err...

go语言怎么删除数组元素

Golang 删除数组中的元素Go语言并没有提供用于删除元素的语法或接口需要通过切片特性来删除元素具体思路确定删除位置 -> 连接删除元素前后的数组 -> 产生新数组newlist = a...

golang创建文件目录os.Mkdir,os.MkdirAll的区别说明

如下所示: os.Mkdir("abc", os.ModePerm) //创建目录 os.MkdirAll("dir1/dir2/dir3", os.ModePerm) //创建多级目录 首先,试图从一个Go可执行文件创建一组嵌套目录(如'dir1/d...

解决Golang结构体json的时间格式化

今天开发的过程中遇到一个问题,数据库内有个日期字段(类型:date)查询出来后会是 2021-01-01T20:08:23.000000028+08:00 这种格式,而我只要2021-01-01,下面列出解决办法// 定义个类...

如何实现一个更全面的Golang版本的布谷鸟过滤器

“判断一个值是否在一个巨大的集合当中”(下文中统称为集合隶属测试),是一种常见的数据处理问题。在以往的经验中,如果允许一定的假阳性率,那么布隆过滤器是首选,而如今...

Go 代码生成工具详解

分享两个常用的代码生成工具: gormgen handlergengormgen基于 MySQL 数据表结构进行生成 3 个文件: 生成表的 struct 结构体 生成表的 Markdown 文档 生成表的 CURD 方法...

详解go语言的并发

1、启动go语言的协程package main import ( "fmt" "runtime") //runtime包 func main() { //runtime.Gosched() 用于让出cpu时间片,让出这段cpu的时间片,让调度器重...

返回顶部
顶部