golang
文章平均质量分 79
长睡将军
归零者诗人,有诗有远方有嘴角向上的你。
展开
-
go基础理论学习
简单介绍下go语言go语言是谷歌开发的一种编程语言 它具有内置的垃圾回收机制 支持高并发 代码可以编译成单个可执行的二进制文件,不需要运行时环境go接口所有接口的父接口是一个空类,interface{}替代任意类型go泛型go1.7之前的go泛型实现是使用interface{}替代任意类型,需要使用swich做类型断言判断。1.7之后引入了类似java语言的泛型概念,这种反省概念就是模板<K,V>,在程序运行时需要copy一份模板生成对应类型的方法并写入内存中原创 2021-09-30 16:02:17 · 183 阅读 · 0 评论 -
Go语言中的并发编程
一、并发与并行并发:同一时间段内执行多个任务并行:同一时刻执行多个任务Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成。Go语言还提供channel在多个goroutine间进行通信。goroutine和channel是 Go 语言秉承的 CSP(Communicating Sequential Pro原创 2021-09-17 23:12:21 · 258 阅读 · 0 评论 -
Go SCP 通信顺序进程模型chan通道
目录channer定义写入 chan读取 chan关闭 chan示例Go语言实现了两种并发模型,一种是我们熟悉的线程与锁并发模型,他是基于共享内存实现的。另一种是Go语言中倡导使用的SCP 通信顺序进程模型,倡导使用通信手段实现共享内存。在Go语言中倡导使用channel作为gorotine之间同步和通信的手段。在go语言中的线程是并发机制而不是并行机制。并发机制和并行机制并发是不同的代码块交替执行,也就是交替可以做不同的事情。并行是不同的代码块同时...原创 2021-09-07 16:33:29 · 431 阅读 · 0 评论 -
Goland提示Delve的版本太旧,无法debug的处理方式
vscode安装go语言的调试插件,按官方给出的方法很简单,在cmd下执行这个命令:go get -ugithub.com/derekparker/delve/cmd/dlv如果下载报如下错误:go get -v -u -x github.com/derekparker/delve/cmd/dlvgithub.com/derekparker/delve (download)cd C:\Users\wangb\go\src\github.com\derekparker\delvegit.原创 2020-07-09 11:22:56 · 2048 阅读 · 0 评论