题记本文是转载于掘金的一篇文章:
作者:夏沫的梦
链接:https://juejin.cn/post/7160639446612705316
其中还有我补充的知识点,用于自己的学习。
1.使用值为 nil 的 slice、map会发生啥允许对值为 nil 的 slice 添加元素,但对值为 nil 的 map 添加元素,则会造成运行时 panic。
123456789101112// m...
题记 本文主要记录Go语言高性能编程的一书中的笔记(有些笔记也是抄别人的)。
benchmark
进行性能测试时,尽可能保持测试环境的稳定
实现 benchmark 测试• 位于 _test.go 文件中• 函数名以 Benchmark 开头• 参数为 b *testing.B• b.ResetTimer() 可重置定时器• b.StopTimer() 暂停计时• b.StartTimer...
题记排序算法是《数据结构与算法》中最基本的算法之一。
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
1.冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相...
1.初识go语言第一个Go程序12345678910111213141516// 1.狗语言是以包作为管理单位// 2.每个文件都必须先声明包// 3,程序必须有一个main包(重要)package mainimport "fmt" //导入包//入口函数func main() { //左括号必须和函数名同行,main函数不带参数 //打印 //hello wo...
题记本文主要记录微服务框架go-micro的学习笔记。
1、什么是go-microgo-micro是一个开源的微服务框架,旨在简化分布式系统的开发。 它基于 Go 语言构建,提供了一组组件和工具,帮助开发人员构建可伸缩、可维护的微服务应用程序。
GitHub项目地址:Go Micro
整体架构设计:
2、go-micro的构成组件Go Micro
用于在Go中编写微服务的插件式RPC框架。...
题记本文主要用来规范自己编写Golang的代码,感谢本人实习的mentor孙晨辉(万声音乐),让我对编码规范有了新的认识。
正文函数和方法命名
函数和方法名称中通常可以省略以下内容:
输入和输出的类型(当没有冲突时)
方法的接收器的类型
输入或输出是否为指针
对于函数,不要重复包的名称。
对于方法,不要重复方法接收器的名称。
不要重复作为参数传递的变量的名称。
不要重复返回值的名...
1、Golang测试分类
单元测试(Unit Tests)
以 Test 开头
函数签名为 func TestXxx(t *testing.T)
用于测试代码的最小可测试单元
基准测试(Benchmark Tests)
以 Benchmark 开头
函数签名为 func BenchmarkXxx(b *testing.B)
用于测试代码的性能
示例测试(Example Tests)
...
怎么才能很好的避免低级故障?以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。
在我们对数据库技术方案设计的时候,我们是否有自己的设计理念或者原则,还是更多的依据自己的直觉去设计,是否曾经懊悔线上发生过的一次低级故障,可能稍微注意点就可以避免,是否想过怎么才能很好的避免,下面规范的价值正是我们工作的检查清单,需要我们不断从错误中积累有效经验来指导未来的工作。以...