DFS BFS算法比较

最近在leetcode上温习算法,在遍历操作的时候经常用到BFS,DFS两种算法。特此记录DFS:(Depth-First-Search)深度邮箱搜索算法。优先遍历垂直方向上的元素,然后再遍历水平方向上的元素。例如一颗二叉树,对于每一个节点,都会先遍历左子树然后再遍历右子树。

golang的make

golang 分配内存主要有内置函数new和make,今天我们来探究一下make有哪些玩法。make 只能为slice, map, channel分配内存,并返回一个初始化的值。首先来看下make有以下三种不同的用法:1. make(map[string]string)2.

一文搞懂 Go Modules 前世今生及入门使用

GOPATH 做为 Golang 的第一个包管理模式,只能保证你能用,但不保证好用,而 go vendor 解决了 GOPATH 忽视包版的本管理,保证好用,但是还不够好用,直到 go mod 的推出后,才使 Golang 包的依赖管理有了一个能让 Gopher 都统一比较满意的

Golang 微服务业务系统使用 TDD & DDD 心得

TDD(Test-Driven Development)测试驱动研发DDD(Domain-DrivenDesign)领域驱动模型老板最近新接手一个新能源项目,对于代码的稳定性及CI/CD要求比较高,所以发现了TDD。

Python用C++开发Python库

很多系统为了保证数据在系统上下游的自动校验,避免数据结构异常带来的系统稳定性问题,都会用 json 格式进行数据交互,可以采用 json-schema 来定义 json接口 ,并利用 json-schema-validator 来校验接口响应的结构的合法性。

Golang 错误处理实战

并且实现 Error 接口,如下:后续使用的时候,我们就可以读取error里面的信息,然后进行响应处理了。

使用Golang对高并发下的流量控制

前端优化: 减少 HTTP 请求,合并 CSS 或 js, 添加异步请求,启用流量器缓存和文件压缩,CDN 加速,建立独立图片服务器。startAt time.Time。

揭秘golang垃圾回收!三色标记法深入剖析

图里runtime.scanobject这部分是大平顶,这说明cpu在这部分耗时是很久的,而runtime.scanobject是属于runtime.gcDrain这个函数的,最下方调用的函数是runtime.gcBgMarkWorker,这些函数看上去和垃圾回收是有关系的,那么golang的垃圾回收是什么样的呢?

golang程序员前景怎么样?Python、Java、go语言的优势互比

Go的很多语言特性借鉴与它的三个祖先:C,Pascal和CSP。而Go最大的语言特色,基于管道通信的协程并发模型,则借鉴于CSP分支。

源码解读 Golang 的 sync.Map 实现原理

Go 的内建 map 是不支持并发写操作的,原因是 map 写操作不是并发安全的,当你尝试多个 Goroutine 操作同一个 map,会产生报错:fatal error: concurrent map writes。