详解C/C++协程实现原理及使用

协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。

详解golang的数据类型和底层实现三

map底层引用的数据结构是一个hashtable,都要map类型的变量进行传递也是浅拷贝上层的指针,底层的hashtable仍然使用的是同一个,看一下源码src/runtime/map.go/hmap。

详解用 Go 语言解析各种 HTTP 请求的方法

之前这个系列的文章一直在讲用 Go 语言怎么编写HTTP服务器来提供服务,如何给服务器配置路由来匹配请求到对应的处理程序,如何添加中间件把一些通用的处理任务从具体的Handler中解耦出来,以及如何更规范地在项目中应用数据库。

Golang——详解Go语言的代码规范

今天是Golang专题的第二篇,我们来看看Go的语言规范。在我们继续今天的内容之前,先来回答一个问题。有同学在后台问我,为什么说Golang更适合分布式系统的开发?它和Java相比有什么优势吗?其实回答这个问题需要涉及很多概念,比如操作系统当中关于进程、线程、协程等很多概念。

详解Golang 推荐的命名规范

作为一个两年的golang开发者,我根据很多知名的项目,如moby,kubernetess等总结了一些常见的命名规范。命名规范可以使得代码更容易与阅读,更少的出现错误。如有不同意见欢迎吐槽、讨论。

软件版本号详解(建议收藏)

我们现在的生活离不开软件,版本号一般不会引起大家的关注,但是一旦软件出现了Bug或者其他问题,这个时候,软件的提供方都会让用户提供其软件的版本号。

Golang包管理详解

1. 理解 go importimport 导入包,包名是从 GOPATH 开始计算的路径,使用 / 进行路径分隔;在使用IDE时,不用手动import包,例如使用 fmt 包,再敲入 fmt.

Golang 入门系列(七)整合Redis详解,实战

想了解的可以看之前的文章:https://www.cnblogs.com/zhangweizhong/category/771056.html2. golang 客户端,用的是 go-redis,  1、go get github.com/go-redis 2、接着在代码中导入此

详解golang的数据类型和底层实现二

slice切片,今天来说说golang的第二个引用数据类型slice,上次说到引用类型的变量传递的是引用的指针但是拷贝之后的地址还是相同的,导致修改任何一个拷贝都会改变指针指向的地址的实际值。chan的底层数据结构是hchan,那么slice的底层指向的是什么结构呢?

go语言:函数参数传递详解

参数传递是指在程序的传递过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据处理和返回的过程。