背景是这样的,前端页面有一个日志level的枚举值传递给后端,server端会对该枚举值的有效性进行校验,QA测试...[作者空间]
工作中我们会发现代码中会使用%s格式化err的情况,包括一些开源代码。但是你翻一下源码,内置的error接口里面,...[作者空间]
预备知识: 任何空接口类型的变量,即interface{},其内存布局均如下: 判断interface{}变量是否...[作者空间]
以go 1.18.2版本为例;假设你还没有在系统装安装go环境;下面一步步教你源码编译。系统环境: 通过二进制文件...[作者空间]
当将一个值为nil的接口变量w赋值给空接口类型i后,i为nil。 但是将一个值为nil的接口指针变量w赋值给空接口...[作者空间]
先上代码: 类型T,底层数据为int类型(类型T并非int的类型别名,注意区分type T = int),其同时实...[作者空间]
go语言接口的独特之处在于它是满足隐式实现的鸭子模式,如果走起路来像鸭子,叫声也像鸭子,那么就会被认为是鸭子。在g...[作者空间]
官方博客: https://go.googlesource.com/proposal/+/master/desig...[作者空间]
nginx反向代理下,golang程序获取用户真实IP 在生产环境中我主要使用了beego和gin,下面只介绍这两...[作者空间]
对于使用结构体中嵌套结构体的情况,只有receiver为指针类型,而嵌套结构体为结构体的值语义的时候不能触发自定义...[作者空间]
btcd 中使用的log 模块引用自己项目仓库的btclog包。 在整个包里面,定义了需要实现的接口,以及简单的封...[作者空间]
直接上代码 解释 除了第一种方法外,其他方法都对原数据进行了修改; 第一种方法适合不污染原slice数据的情况下使...[作者空间]
动机:经常在开源项目中看到,for循环中重复计算一个表达式,而这个表达式的值是固定的,这样做是不是会影响性能。抽时...[作者空间]
在实际应用过程中发现,有时候需要重写一些库中的函数,以满足当前需求。总结为以下几点,当然只是个人见解,欢迎讨论。 ...[作者空间]
go import格式规范 对于go import的格式容易被忽略,但是标准的import会让代码阅读者一目了然。...[作者空间]
下面以交易的字节占用为例,解析btcd是如何处理golang的字节占用问题的。 交易结构 一个交易的大小分成了隔离...[作者空间]
最地道的Go代码就是Go的标准库的代码,有空的时候可以多看看Google的工程师是如何实现的。 注释 可以通过/*...[作者空间]
其实这都是一些基础问题,但是自己总是忘记,在这里做个记录。 删除slice中的一个或多个元素 s = append...[作者空间]
结论:如果将一个接口类型变量断言成一个指针类型的变量,在断言成功的前提下,两个变量将共享内存空间 很明显了,就不解释了[作者空间]
golang标准库本身没有提供一个去除slice中重复元素的函数,需要自己去实现。今天读源码时发现了一个,算是比较...[作者空间]