锁的介绍与使用 1 互斥锁 传统并发程序对共享资源进行访问控制的主要手段,由标准库代码包中sync中的Mutex结构体表示。 //Mutex 是互斥锁, 零值是解锁的互斥锁, 首次使用后不得复制互斥锁。 type Mut…
分类:go语言
go语言使用github.com/gorilla/mux发布REST service
一个使用github.com/gorilla/mux实现REST API Service的例子,主要内容包括: GET/POST方法,如何接收path参数,query参数,以及POST body参数 如何设置返回状态码,…
GO分析时使用上调or下调差异基因
分开与合在一起都可以分析,但目的不同。 分开分析更多强调看通路是被激活还是被抑制; 合在一起分析更宏观。 1 为什么要分开讨论?因为我们希望通过看显著上调或下调的基因中通过GO和KEGG注释,归类之后有没有你所关注的科学…
IntelliJ IDEA 搭建 Go 开发环境
本文介绍 Windows7 x64 基于 IntelliJ IDEA 搭建 Go 语言开发环境。主要是一些操作过程截图以及简单文字描述,如有不清楚的地方,欢迎指正。所有软件使用当前(2016.12.02)最新版本,旧版…
golang math.Floor实现四舍五入
今天在实现一个数据时总是因为取不到具体的数值而出现误差,问了下golang群里的小伙伴,最终得以解决,仅以此篇记录golang四舍五入的知识点。 golang中,目前还没有一个直接函数可以实现四舍五入,所以需要在取值之前…
用 golang 1.11 module 做项目版本管理
go 1.11 有了对模块的实验性支持,大部分的子命令都知道如何处理一个模块,比如 run build install get list mod 子命令,第三方工具可能会支持的晚一些。到 go 1.12 会删除对 GOP…
Go-ethereum 源码解析之 consensus/consensus.go
Go-ethereum 源码解析之 consensus/consensus.go // Package consensus implements different Ethereum consensus engines.…
go语言常见坑
1.main包的唯一性 传统语言中对主入口的要求是main函数,如c++/java等,只需要保证这点即可,但是在go中还需要保证main包的唯一性。 如下,在一个main包定义如下函数 package main impo…
GO-1.9做了哪些性能优化?
1. 调用带内联框架的堆栈 运行时的用户应避免直接检查所产生的PC切片,而应使用runtime.CallersFrames获取调用堆栈的完整视图,或运行时.Caller来获取有关单个调用者的信息。这是因为PC切片的单个元…
vim-go配置注意
关于vim-go配置后 tab为四个空格 配置好vim-go后,发现之前vimrc的设置tab为四个空格不好使(首先说明环境 并不干净,有很多其他配置项); 找到 ./vim/bundle/vim-go/ftplugin…
go语言记log: glog剖析
首发: legendtkl.com log的一个典型应用场景就是实现log分级,比如线上环境不需要记录DEBUG的log信息。今天介绍一下glog。先看一个glog的简单例子。 //file name: glog.go …
go 异常处理
error 接口声明如下: type error interface { Error() string } 创建error err:=errors.New(“”)//返回的是其返回的error类型…