偶然看到这样一篇文章:<使用 pprof 排查 Golang 内存泄露>https://www.toutiao.com/i6881796351139676680/ 最后一段让我很疑惑: 修改 for ... select ... time.After 造成的内存泄露 原来程序中存在如下代码: for { select { case a := <-chanA: ... case b := <-chanB: .... case <-time.After(20*time.Minut…
1.调用系统库 platform.system() 报错: 2.os.popen() 打开的文件流未关闭也会出现这种错误. f = os.popen() f.read() f.close() 问题复现的场景:如果在主进程->开启一个子线程调用os.popen(),主进程会回收os.popen() 如果主进程--> 开启线程1 ,线程1开启一个线程2来调用os.popen(),主进程回收os.popen()时,发现线程2不存在,则会出现以上问题. [Reference] 1.https://bl…
源码地址: https://github.com/mikeygithub/GoCode 第1章 1Golang 的学习方向 Go 语言,我们可以简单的写成 Golang 1.2Golang 的应用领域 1.2.1区块链的应用开发 1.2.2后台的服务应用 1.2.3云计算/云服务后台应用 1.3学习方法的介绍 1) 努力做到通俗易懂2) 注重 Go 语言体系,同时也兼顾技术细节3) 在实际工作中,如何快速的掌握一个技术的分享,同时也是我们授课的思路(怎么讲解或者学习一个技术).(很多学员反馈非常…
我们可以使用 interface 接收 json.Unmarshal 的结果,然后利用 type assertion 特性来进行后续操作. package main import ( "encoding/json" "fmt" ) func main() { b := []byte(`{"Name":"Wednesday","Age":6,"Parents":["Gomez&q…
go深坑:1.gin.context.JSON,如果没有make数组时,数组返回为null,make后,数组为[]2.json.Number转int64类型 datatemp.(json.Number).Int64 3.string转int64    strconv.ParseInt(char_count, 10, 64) golang包管理govendor使用: #主流程只看数字步骤 #安装 . go get -u -v github.com/kardianos/govendor #进入到项目…
switch 语句基本结构 switch 条件表达式 { case 常量表达式1: 语句 1 case 常量表达式2: 语句 2 . . . case 常量表达式n: 语句 n default: 语句 n+1 } 执行流程 (1)计算条件表达式的值value (2)如果value满足某条case语句,则执行该语句,执行完跳出switch语句 (3)如果value不满足所有的case语句: ​ (3.1)如果有default,则执行该语句,执行完跳出switch语句 ​ (3.2)如果没有defa…
1.下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装,所以先安装1.4) 2.解压后我的目录结构是: /opt/xxx/golang |-------gopath                                //开发工作目录 |   |------src //开发源码 |  |------pkg |   |------bin //开发源码go install 生的的可执行文件 '-------src //golang源码 |-------go-1-1…
读前必读,下面所有内容都是来自这里. 放到这里的目的,就是为了比对一下,哪里的读者多.平心而论,同样的Markdown,博客园排版真心X看,怎么瞅怎么X看.(X := '难' || X :='耐' || X := '好' ) 都是原创,不是抄袭.如果真要拿去,也所谓,好歹给我留个名,也不枉费码字之苦. 您说是不是? 话接上节,继续聊.如果你此时此刻看到了"Hello God, My Golang.",那么检查一下有没有找到一首劲爆的音乐,旁边有没有沏好一杯好茶. 如果有,就关掉音乐喝掉…
Tendermint作为当前最知名且实用的PBFT框架,网上资料并不很多,而实现Tendermint和以太坊的Go语言,由于相对小众,也存在资料匮乏和模糊错漏的问题.本文简单介绍PBFT概念和Go语言[&开发环境]关键知识点,其中大部分都可单独成篇,限于篇幅,文中提供诸多链接供大家深入.日后可能会基于Tendermint出系列博文,此篇纯当基础. 概念 下述一部分在前篇区块链初探中亦有涉及,可结合着看. 分布式系统中的异步和共识 异步:这里的异步不同于通常技术术语中的异步调用的异步,而是指在一个…
https://www.jb51.net/article/126998.htm go标准库文档https://studygolang.com/pkgdoc 1. 如果想要再本地直接查看go官方文档,可以再终端中运行: userdeMacBook-Pro:~ user$ godoc -http=: 然后在浏览器中运行http://localhost:8000就能够查看文档了,如下图所示: 2.os.Args : Args保管了命令行参数,第一个是程序名 3.所有的go语言代码都只能放置在包中,每一…