range 数组和切片的差异

Go 语言的 range 表达式遵循如下两个规则:

  1. range表达式只会在for语句开始执行时被求值一次,无论后边会有多少次迭代
  2. range表达式的求值结果会被复制,也就是说,被迭代的对象是range表达式结果值的副本而不是原值

搭建DevOps模式的项目

在后端的开发领域,各类开发框架都已经很多,在开发项目时可以根据不同的需要和需求选择合适的开发框架。然而在需要开发一个完善的工程化项目时,仅仅一个后端开发框架是不够的,还面临着在对开发项目的快速迭代中进行测试,部署,监控等问题。为了解决这些问题,DevOps的开发模式应运而生。

基于个人对DevOps的理解,搭建了一个基于Gin的开源后端项目来实践下DevOps的各个概念:https://github.com/wanghaoxi3000/advproject

DevOps是一个宽泛的概念,这个项目也只是抛砖引玉,在测试环境下串联起各个DevOps的基础工具,存在的不足欢迎指出,一起学习和交流。

[转载]深度解密Go语言之 scheduler

转载至 https://www.cnblogs.com/qcrao-2018/p/11442998.html, 一篇很不错讲解 Golang scheduler 的文章。

在 Go 语言里,go func 是并发的单元,chan 是协调并发单元的机制,panic 和 recover 是出错处理的机制,而 defer 是神来之笔,大大简化了出错的管理。

Goroutines 在同一个用户空间里同时独立执行 functions,channels 则用于 goroutines 间的通信和同步访问控制。