go mod 使用旧版本 版本号指定方式

在使用go mod的过程中,发现不容易指定版本号尤其是没有打tag的,不知道怎么指定版本号, 不知道有哪版本号正常使用都没有问题,但是当引用的项目用了旧的代码, 这时候必须使用...

golang 对私有函数进行单元测试的实例

在待测试的私有函数所在的包内,新建一个xx_test.go文件书写方式如下:import ( "github.com/stretchr/testify/assert" "testing")var XXFunc = yourPrivateFuncfunc TestXXFun...

golang 并发编程之生产者消费者详解

golang 最吸引人的地方可能就是并发了,无论代码的编写上,还是性能上面,golang 都有绝对的优势学习一个语言的并发特性,我喜欢实现一个生产者消费者模型,这个模型非常经典,适用于很...

Golang Gob编码(gob包的使用详解)

gob是Golang包自带的一个数据结构序列化的编码/解码工具。编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC(remote procedure calls)。gob和json的pack之类的方...

Go 在 MongoDB 中常用查询与修改的操作

以下所有例子中结构定义如下:type User struct { Id_ bson.ObjectId `bson:"_id"` Name string `bson:"name"` Age int `bson:"age"` JoinedAt time.Time `bson:...

go mod 安装依赖 unkown revision问题的解决方案

背景公司一个golang的项目,使用到了公司的私有仓库,去执行go mod tidy(下载依赖)的时候,到download公司私有库的时候就报错,报错信息也不明显,只是提示找不到影响版本unkown revisi...

关于Golang channel的实现

一.简介channel是Go语言在语言级别提供的goroutine间的通信方式,可以使用channel在两个或多个goroutine之间传递消息。channel是进程内通信方式,因此通过channel传递对象的过...

解决go mod私有仓库拉取的问题

用go mod的时候应该会遇到无法拉取私有仓库的问题从你gitlab平台生成一个token,在~/.gitcoinfig中[http]下增加extraheader = PRIVATE-TOKEN: 你的token[url]下增加 insteadO...

浅谈golang 中time.After释放的问题

在谢大群里看到有同学在讨论time.After泄漏的问题,就算时间到了也不会释放,瞬间就惊呆了,忍不住做了试验,结果发现应该没有这么的恐怖的,是有泄漏的风险不过不算是泄漏,先看API的...

golang 定时任务方面time.Sleep和time.Tick的优劣对比分析

golang 写循环执行的定时任务,常见的有以下三种实现方式1、time.Sleep方法:for { time.Sleep(time.Second) fmt.Println("我在定时执行任务")}2、time.Tick函数:t1:=time.T...

golang日志包logger的用法详解

1. logger包介绍import "github.com/wonderivan/logger"在我们开发go程序的过程中,发现记录程序日志已经不是fmt.print这么简单,我们想到的是打印输出能够明确指定当时运行时...

golang elasticsearch Client的使用详解

elasticsearch 的client ,通过 NewClient 建立连接,通过 NewClient 中的 Set.URL设置访问的地址,SetSniff设置集群获得连接 后,通过 Index 方法插入数据,插入后可以通过 Get 方法...

goland设置颜色和字体的操作

如下所示:补充:Goland调整Terminal窗口字体大小Goland的Ternimal窗口样式和Console窗口公用同一个样式,修改路径:Setting->Editor->Color Scheme->Console Font若不生效,重启一...

go 类型转换方式(interface 类型的转换)

go 在做类型转换时,报错:cannot convert m (type interface {}) to type Msg: need type assertion原因:go 的在 interface 类型转换的时候, 不是使用类型的转换, 而是使用t,ok :...

Golang的func参数及返回值操作

参数及返回值参数一指定数据类型为int参数二 (…interface{}) 可传任何多个不同类型的参数返回值:单个返回值直接指定数据类型可以不使用 (),多个返回值需使用()。各返回值之...

如何让shell终端和goland控制台输出彩色的文字

终端输出彩色文字开发工具:Mac,Goland,Mac自带shell。这是基于Mac的测试结果,根据读者留言,在Windows上不生效,标识符不一样。在终端输出这段命令,将的到一个红色背景、绿色文字,并...

解决go在函数退出后子协程的退出问题

该问题来源于自己在读fabric源码时,看到的一个测试代码,在一个函数中启用协程,然后该函数退出了,由于平常没有这样处理过,以及受原有c++函数域的影响,认为函数退出,子协程应该也退...

Golang中interface{}转为数组的操作

interface{} 转为普通类型我们都知道在golang中interface{}可以代表任何类型,对于像int64、bool、string等这些简单类型,interface{}类型转为这些简单类型时,直接使用p, ok :=...

golang slice元素去重操作

合并两个整型切片,返回没有重复元素的切片,有两种去重策略1. 通过双重循环来过滤重复元素(时间换空间)// 通过两重循环过滤重复元素func RemoveRepByLoop(slc []int) []int {...

golang DNS服务器的简单实现操作

简单的DNS服务器提供一个简单的可以查询域名和反向查询的DNS服务器。dig命令主要用来从 DNS 域名服务器查询主机地址信息。查找www.baidu.com的ip (A记录):命令:dig @127.0.0.1...

Go语言 go程释放操作(退出/销毁)

情况1:Go语言中,若在子go程中创建一个新 go程,子go程释放(销毁),新创建的go程不会随着子go程的销毁而销毁。原因:go程共享堆,不共享栈,go程由程序员在go的代码里显示调度(释放)。实例:pa...

golang 如何自动下载所有依赖包

如何自动下载所有依赖包?大部分情况下大家下载 Go 项目都是使用go get命令,它除了会下载指定的项目代码,还会去下载这个项目所依赖的所有项目。但是有的时候我们的项目由于各种...

聊聊Go语言编译github上的项目遇到的坑

最近转行Go语言服务端,老大写了个很复杂的框架,并且没有文档。在读取源代码的时候,很是痛苦,记忆力不咋地,记不住东西,于是乎想出了通过源代码创建UML类图的办法。C++和JAVA都有类...

Go 实现HTTP中间人代理的操作

goproxyGo HTTP(S)代理库, 支持中间人代理解密HTTPS项目地址安装go get github.com/ouqiang/goproxy使用package mainimport ( "net/http" "time" "github.com/ouq...

golang 实现一个负载均衡案例(随机,轮训)

今天用go实现一个简单的负载均衡的算法,虽然简单,还是要写一下。1.首先就是服务器的信息package balancetype Instance struct { host string port int}func NewInstanc...

返回顶部
顶部