解决 gvm 工具无法下载安装包的问题

GVM(Go Version Manager) 是一款用于管理和切换不同 Go 语言版本的工具。它允许用户在同一台计算机上轻松安装、使用和管理多个 Go 版本,同时还能确保项目之间的依赖关系井然有序。 GVM 的主要功能包括: - 安装和卸载 Go 版本:GVM 允许用户快速安装和卸载 Go 语言的不同版本,以便在不同项目 ... 阅读更多

国内几个优质的 Go Module 代理仓库服务

一、简介 go module 公共代理仓库,代理并缓存 go 模块。你可以利用该代理来避免 DNS 污染导致的模块拉取缓慢或失败的问题,加速你的构建。 简单来说就是国内访问被墙,go get 无法在线获取到仓库,代理仓库就是帮我们解决这个问题的。 二、使用方法 使用 go1.11 以上版本并开启 go module 机 ... 阅读更多

Golang 判断文件是否存在及递归创建文件夹

一、判断文件或文件夹是否存在 golang 判断文件或者文件夹是否存在可以通过 os.stat() 方法和 os.IsExist() 方法来判断:

二、递归创建文件夹 递归文件夹用到 os.MkdirAll() 方法: [crayon-698299 ... 阅读更多

Golang redigo 使用笔记 (二):并发处理和连接池

一、并发问题 在 redigo 官方的文档描述中,Receive() 方法是不支持多并发的,原文为:

而 Do() 方法是间接调用了 Receive() 方法,所以 Do() 方法也是不支持多并发的。我们可以用一段代码来验证这一点: [crayon-6 ... 阅读更多

golang 向上取整、向下取整和四舍五入

一、概述 官方的 math 包中提供了取整的方法,向上取整 math.Ceil(),向下取整 math.Floor() 二、用法

要注意的是,取完整后返回的并不是真正的整数,而是 float64 类型,所以如果需要 int 类型的话需要手动转换 ... 阅读更多

golang 生成伪随机数

一、概述 golang 生成随机数可以使用系统自带的 math/rand 包。 二、使用方法

这种情况下产生的随机数都是相同的,如果需要不同的随机数需要这样:

或者 [cr ... 阅读更多

godoc 的 web 版本开启方式

一、摘要 godoc 是 go 默认自带的一个模块,提供了 go 语言的文档相关信息,一般情况下查询文档可以使用 godoc **来进行查询。 例如 godoc fmt,就会出现 fmt 包相关的信息: 二、 WEB 版文档 其实对大部分人来说,命令行界面看起来都是不友好的,满屏的黑屏白字就算是程序员也是会有抵触心理。 ... 阅读更多

linux 安装 Go1.9.2

一、概述 使用 golang 这么久了,到今天才发现还没有在 linux 上使用安装过,之前要么是在 windows 上安装,要么就是 linux 直接使用 yum 安装,都没有直接从源码装过,今天决定探索一番。 二、步骤 1 、下载安装包 官方下载地址:https://golang.org/dl 依次是 windwos  ... 阅读更多