Go使用spf13cobra库

Go 

一、介绍 cobra是一个命令行程序库,其提供简单的接口来创建强大现代的CLI接口,可以用来编写命令行程序。同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架。 二、概念 Cobra基于三个基本概念commands,arguments和flags。其中commands代表行为,a

Go使用redis

Go 

在go中可以使用github.com/go-redis/redis来操作Redis 一、安装 现在最新的版本是 v8 go get github.com/go-redis/redis/v8 二、导入包 import ( "context" "github.com/go-redis/

Go使用Google Authenticator二次验证

Go 

很多网站或应用登录验证除了账号密码外还加了二次验证,有短信验证码、邮箱验证码的,Google Authenticator二次验证使用范围也越来越广泛了。 一、说明 一般都是基于时间戳的Google Authenticator动态口令,这是一个每隔30s会动态生成一个6位数的数字,只要手机端时间与服务

Go判断interface类型及类型转换

Go 

在golang中,interface{}允许接纳任意值,类似于Java中的Object类型。 可以直接用switch value.(type) 来判断类型,如: type Test struct { Test string } func test(value interface{}) { sw

Go中使用mongo-driver操作MongoDB

Go 

1、pool 连接池模式 func ConnectToDB(uri, name string, timeout time.Duration) (*mongo.Database, error) { // 设置连接超时时间 ctx, cancel := context.WithTimeout(co

Go执行命令行操作

Go 

go中提供了os/exec包使用Command函数可以完成一些调用命令行的操作。因为系统的不同,调用的参数会有点些不一样。 linux中使用使用为 exec.Command("/bin/bash","-c","ls") windows中使用使用为 exec.Command("cmd","/c","l

Go实时监听日志文件内容

Go 

最近自己的frp转发的一些内网远程连接,老是被莫名其妙的人进行暴力破解,而且破解的IP大都是国外的。于是想写个程序实时监听frp的日志文件,分析ip,根据ip的所在地以及链接的频率直接把它加到防火墙黑名单中。 要实现这个功能,首先就是要能实时监听日志文件,类似于实现Linux中tail -f效果的功

Go编译出现gcc internal compiler error: Killed

Go 

环境 阿里云1核512M CentOS 7 现象 编译包含gopkg.in/mgo.v2库时出现了gcc internal compiler error: Killed报错 原因 这是内存不足,且没有交换区,go中用到gcc编译过程中内存耗尽, 导致了编译中断。 解决办法 一、硬件解决 提升配置,增

Go中使用mod

Go 

go从1.11版本后就开始支持Modules了,但在1.13版本后加入了GOPROXY后才把go mod在国内带上了巅峰。 GO111MODULE 开关 GO111MODULE 有三个值:off, on和auto(默认值)。 GO111MODULE=off,go命令行将不会支持module功能,寻找

Go mod tidy 报错:verifying ...: checksum mismatch

Go 

在执行go mod tiny的时候报错 verifying github.com/cihub/seelog@v0.0.0-20170130134532-f561c5e57575/go.mod: checksum mismatch downloaded: h1:vScKZAbbGEqc