Go语言中的零值
开箱即用什么叫开箱即用呢?因为Go语言的零值让程序变得更简单了,有些场景我们不需要显示初始化就可以直接用,举几个例子:切片,他的零值是nil,即使不用make进行初始化也是可以直接使用的,例如:pac...
Golang中字符串、数组、切片排序
使用Golang的sort包用来排序,包括二分查找等操作。下面通过实例代码来分享下sort包的使用技巧:package main import ( ...
为啥Context携带数据是线程安全的?
问题是:使用context携带的value是线程安全的吗?这道题其实就是考察应聘者对context实现原理的理解,如果不知道context的实现原理,很容易答错这道题,所以本文我就借着这道...
Go easyjson使用技巧
如果使用go语言自带的json库,使用的是反射,而go语言中反射性能较低。easyjson就是一个比较好的替代方案。esayjson安装(https://gitcode.net/mirrors/mai...
Go 字符串切割技巧
标准库专门提供了一个包 strings 进行字符串的操作,随着go1.18新增的 Cut 函数,字符串处理也更加方便了。Cut 函数的签名如下:func Cut(s, sep&nb...
NewReplacer使用技巧
上次写博客至今有段时间了,这些日子,认真过,努力过,职场中不管有哪些让人失意或不快的事,终归到底,是自己...
windows下编译linux可执行程序
开发中,我们可以在Windows下编译Linux 64位可执行程序,首先获取目标系统所支持的构架,比如x86/x64/arm64/arm 等等。在 linux 系统中,我们可以使用命令 uname -...
Go channel 协程为什么是安全的
Channel跟java/php的 thread不一样,首先channel是协程不是线程。channel不会产生新的线程,自然不会涉及到新的进程或者线程...
Go map定义的几种方式以及修改技巧
直入正题,我们看下以下代码:package main import ( "encoding/json"  ...
Go遍历struct,map,slice
遍历结构体如何实现遍历结构体字段? 好吧,言归正传!举个例子:demo1:package main import ( "fmt...