- 博客(4)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
原创 Go工具之generate
Go语言提供了一系列强大的工具,灵活使用这些工具,能够让我们的项目开发更加容易,工具集包含如下。bug start a bug reportbuild compile packages and dependenciesclean remove object files and cached filesdoc show documentation for package or symbolenv print Go environ
2020-06-26 09:54:29 2629
原创 算法题:滑动窗口----- 颜色分类
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数空间的一趟扫描
2020-06-15 09:43:15 257
原创 你知道几种Go并发控制方式?
文章目录引言WaitGroupChannelContext总结文献引言Golang中通过go关键字就可开启一个goroutine,因此,在Go中可以轻松写出并发代码。但是,如何对这些并发执行的groutines有效地控制?提到并发控制,很多人可能最先想到的是锁。Golang中同样提供了锁的相关机制,包括互斥锁sync.Mutex,和读写锁sync.RWMutex。除了锁,还有原子操作sync/atomic等。但是,这些机制关注的重点是goroutines的并发数据安全性。而本文想讨论的是gorouti
2020-06-08 08:44:33 1607
原创 你还在用官方的error库么,那就弱爆了
在一个项目中,你是否还在为出现error在哪里,定位error而苦恼?你是否还在为error中的信息太少而苦恼;那么我告诉你,本文会介绍给你一个非常好用的error库,让你追查error起来不再痛苦。我们今天的结构分为四个部分:介绍演示源码解说总结介绍其实我们可以思考一下,我们在一个项目中使用错误机制,最核心的几个需求是什么?1 附加信息:我们希望错误出现的时候能附带一些描述性的错误信息,甚至于这些信息是可以嵌套的。2 附加堆栈:我们希望错误不仅仅打印出错误信息,也能打印出这个错误的堆栈信
2020-06-03 09:38:56 704 1
TA创建的收藏夹 TA关注的收藏夹
TA关注的人