golang
年少~年
这个作者很懒,什么都没留下…
展开
-
go-zero处理本地事务
go-zero处理本地事务,原创 2024-03-24 13:25:06 · 737 阅读 · 0 评论 -
golang安装Swagger和 生成LeftDelim问题解决
在前后端分离的项目开发过程中,如果后端同学能够提供一份清晰明了的接口文档,那么就能极大地提高大家的沟通效率和开发效率。可是编写接口文档历来都是令人头痛的,而且后续接口文档的维护也十分耗费精力。最好是有一种方案能够既满足我们输出文档的需要又能随代码的变更自动更新,而Swagger正是那种能帮我们解决接口文档问题的工具。原创 2024-03-24 13:14:43 · 390 阅读 · 0 评论 -
windows11 安装goctl 安装步骤
go-zero官网:https://go-zero.dev/原创 2024-01-12 14:41:08 · 578 阅读 · 0 评论 -
golang实现淘宝开放平台的签名
如果使用HMAC_MD5算法,则需要用app的secret初始化摘要算法后,再进行摘要,如:hmac_md5(bar2foo1foo_bar3foobar4)。如:foo:1, bar:2, foo_bar:3, foobar:4排序后的顺序是bar:2, foo:1, foo_bar:3, foobar:4。说明:MD5和HMAC_MD5都是128位长度的摘要算法,用16进制表示,一个十六进制的字符能表示4个位,所以签名后的字符串长度固定为32个十六进制字符。原创 2023-05-05 15:35:24 · 346 阅读 · 1 评论 -
go请求接口返回数据格式不一致解决思路
go请求接口返回数据格式不一致解决思路原创 2023-01-13 18:09:09 · 847 阅读 · 0 评论 -
vue+elementui导入Excel文件(基于vue-element-admin中的uploadExcel组件), 然后 go-zero进行逻辑处理功能
vue+elementui导入Excel文件(基于vue-element-admin中的uploadExcel组件), 然后 go-zero进行逻辑处理功能原创 2023-01-07 13:40:03 · 958 阅读 · 0 评论 -
使用GO代码实现 百度联盟媒体平台的DSA签名
使用GO代码实现 百度联盟媒体平台的DSA签名原创 2022-11-07 14:09:45 · 719 阅读 · 0 评论 -
解决golang使用elastic连接elasticsearch时自动转换连接地址
使用olivere/elastic连接elasticsearch时,发现连接地址明明输入是公网地址,但是连接时会自动转换成内网地址或者docker中的ip地址,导致服务连接不上。elastic: http://172.16.25.100:9200 is dead解决方法client, _ := elastic.NewClient( // ... // 将sniff设置为false后,便不会自动转换地址 elastic.SetSniff(false),)...原创 2022-04-06 11:59:20 · 2798 阅读 · 0 评论 -
macos环境下 go语言1.17 安装beego与bee
在macos环境中,go1.18刚刚部署后执行 go get -u github.com/beego/bee 会报下面的错golang.org/x/sys/unix../../pkg/mod/golang.org/x/sys@v0.0.0-20191005200804-aed5e4c7ecf9/unix/syscall_darwin.1_13.go:25:3: //go:linkname must refer to declared function or variable../../pkg/mod原创 2022-04-04 12:35:02 · 2051 阅读 · 0 评论 -
golang 在下载依赖包的时候出现错误:dial tcp 142.251.42.241:443: i/o timeout
golang 在下载依赖包的时候出现错误:go: github.com/beego/bee@latest: module github.com/beego/bee: Get “https://proxy.golang.org/github.com/beego/bee/@v/list”: dial tcp 142.251.42.241:443: i/o timeout解决:go env -w GOPROXY=https://goproxy.cn...原创 2022-04-04 12:30:16 · 4279 阅读 · 3 评论 -
创建go-micro v2项目
1.使用go mod init 名称 创建项目2.执行下面方法使用go-micro版本:go get github.com/micro/go-micro/v2protobuf生成工具:go get github.com/golang/protobuf/protoc-gen-gogo-micro自己的生成工具: (和go-micro版本一致都是V2版本)go get github.com/micro/protoc-gen-micro/v2还需要一个protoc.exe,windows平原创 2021-05-09 21:53:38 · 1101 阅读 · 3 评论 -
创建go-micro v3项目
1.使用go mod init 名称 创建项目2.执行下面方法1.go get github.com/micro/micro/v3protobuf生成工具:2.go get github.com/golang/protobuf/protoc-gen-gogo-micro自己的生成工具:3.go get github.com/micro/protoc-gen-micro/v2然后执行go mod download 可以发现下面的文件...原创 2021-05-05 20:59:26 · 1322 阅读 · 1 评论 -
php(客户端)/golang(客户端) 使用grpc,protobuf调用 golang(服务端)
php客户端/golang客户端使用grpc,protobuf调用 golang服务端php客户端golang服务端php客户端创建目录php_grpc_client,把Prod.proto放在该目录中Prod.proto代码syntax="proto3"; // 指定proto版本package services; // 指定默认包名message ProdRequest{ int32 prod_id=1; //传入的商品id}message ProdResponse{ int原创 2021-03-25 12:01:11 · 368 阅读 · 0 评论 -
GO与PHP有关grpc,protobuf安装整理
一.安装gRPC和Protobuf1.go get github.com/golang/protobuf/proto2.go get google.golang.org/grpc(无法使用,用如下命令代替) git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc git clone https://github.com/golang/net.git $GOPATH/src/golang.or原创 2021-03-16 22:33:50 · 687 阅读 · 0 评论 -
go语言的rpc调用
服务端package mainimport ( "log" "net/http" "net/rpc")// 例题:golang实现RPC程序,实现求矩形面积和周长type Params struct { Width, Height int}type Rect struct{}// RPC服务端方法,求矩形面积func (r *Rect) Area(p Params, ret *int) error { *ret = p.Height原创 2021-03-06 10:29:13 · 352 阅读 · 0 评论 -
golang decimal处理插件包 大数字处理
InstallRun go get github.com/shopspring/decimalpackage main import ( "fmt" "github.com/shopspring/decimal") func main() { price, _ := decimal.NewFromString("136.02") quantity := decimal.NewFromFloat(3) fee, _ := decimal.NewFromString(".035")转载 2021-02-24 09:49:01 · 571 阅读 · 0 评论 -
go 安装github.com/hpcloud/tail依赖时,报错cannot find module providing package gopkg.in/fsnotify.v1
go 安装github.com/hpcloud/tail依赖时,报错cannot find module providing package gopkg.in/fsnotify.v1去 google 上找 providing package gopkg.in/fsnotify.v1问题。发现是gopkg.in/fsnotify.v1这个包改了名字了。然后我去github.com/hpcloud/tail源码上查看,发现第三方修复了该问题。解决方法:将goproxy.io/gopkg.in/fs原创 2020-11-09 16:33:07 · 1095 阅读 · 0 评论 -
golang 安装 etcd/clientv3报错:etcd undefined: resolver.BuildOption
报错github.com/coreos/etcd/clientv3/balancer/resolver/endpoint../../pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption../../pkg/mod/github.com/coreos/etcd@v3.3.18+inc原创 2020-10-30 11:04:29 · 980 阅读 · 0 评论 -
go mod问题解决
问题一go list -m: can't compute 'all' using the vendor directory (Use -mod=mod or -mod=readonly to bypass.)解决方法:目前根据提示,我们需要删除代码库下vendor目录才能解决问题rm -rf vendor问题二https://goproxy.cn,direc...原创 2020-10-27 19:17:32 · 2091 阅读 · 0 评论 -
beego使用httplib
httplib 库主要用来模拟客户端发送 HTTP 请求,类似于 Curl 工具,支持 JQuery 类似的链式操作。使用起来相当的方便;通过如下方式进行安装:go get github.com/astaxie/beego/httplib如何使用首先导入包import ( "github.com/astaxie/beego/httplib")然后初始化请求方法,返回对象req := httplib.Get("http://beego.me/")然后我们就可以获取数据了str,原创 2020-10-19 15:31:19 · 1856 阅读 · 0 评论 -
mongodb BSON的基本使用教程
1.查找 Find这里查找时间戳内,账号为account,标签为tag的数据并统计个数。m := bson.M{ "create_time": bson.M{ "$gte": start, "$lte": end, }, "account": account, "tag": "tag", } session.DB("db").C("collect").Find(m).Count()2.聚合管道在mgo中为Pipe(pipeline in原创 2020-09-09 10:23:54 · 6808 阅读 · 0 评论 -
golang 中操作 Mongo Update 的方法
使用gopkg.in/mgo.v2库操作,修改操作主要使用mongodb中Collection对象的Update、UpdateAll、UpdateId、Upsert、UpsertId方法。统一封装下getDB方法package mainimport ( "fmt" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson")// get mongodb dbfunc getDB() *mgo.Database { session, er原创 2020-09-03 08:39:31 · 2083 阅读 · 0 评论 -
golang 操作mongodb
package master import ( "context" "fmt" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "gopkg.in/mgo.v2/bson" "time") type Users struct { Name string `bson:"name"` Age int `bson:"age"` Interest []string `bson:原创 2020-09-03 08:29:56 · 1783 阅读 · 0 评论 -
golang实现一个简易的缓存系统
项目结构:├── README.md├── cache│ ├── cache.go│ ├── cache_store.go│ ├── iCache.go│ ├── mcache.go│ └── mcache_test.go├── cache_server│ ├── cacheServer.go│ └── cacheServer_test.go├── constant│ └── constant.go├── cuserror│ └── error转载 2020-08-22 22:23:12 · 776 阅读 · 0 评论 -
Beego项目通过使用go mod移出GOPATH/src目录
1. 首先新建beego项目,在GOPATH/src目录下打开cmd 输入 bee new beego_test2.查看是否正常cd beego_testbee run3.将这个的项目复制或剪切到目标目录(非GOPATH目录) 如F:\go_api目录下4.在该目录下打开cmd:输入 go mod init beego_test5.在cmd中输入go mod tidy命令来生成依赖关系6. 然后编译执行测试一遍 bee run,出现下图表示成功...原创 2020-06-18 11:14:04 · 885 阅读 · 0 评论 -
golang笔记
fmtinputString :="test"1. fmt.Printf("the input was: %s",inputString)2. fmt.Println(inputString)make()和new()区别1. newnew(T) 为一个 T 类型新值分配空间并将此空间初始化为 T 的零值,返回的是新值的地址,也就是 T 类型的指针 *T,该指针指向 T 的新分配的零值.new要点内置函数 new 分配空间.传递给new 函数的是一个类型,不是一个值.返回值是 指向这个新原创 2020-06-15 18:01:19 · 91 阅读 · 0 评论 -
Golang Module的使用
在Golang1.11版本中需要使用export GO111MODULE=on来显式开启go module在Golang1.12之后默认开启了module打开CMD命令提示框,设置临时环境变量(windows系统)set GOPROXY=https://goproxy.io初始化项目(在GOPATH之外创建一个项目目录)➜ mkdir test#### 进入目录后初始化一个module➜ cd test➜ go mod init testgo: creating .原创 2020-06-04 15:34:10 · 367 阅读 · 0 评论 -
golang日志库logrus的安装和使用
一、安装logrus执行如下命令,即可按照logrusgo get github.com/sirupsen/logrus如果无法访问 golang ,那么可以先 clone github.com/golang的源码,然后生成cd $GOPATH/src/golang.org/xgit clone https://github.com/golang/crypto.gitgo get -u golang.org/x/crypto/ssh/terminalgit clone https://gith转载 2020-05-27 10:56:58 · 484 阅读 · 0 评论 -
go打包,部署,守护进程启用
打包交叉编译1.Mac 下编译, Linux 或者 Windows 下去执行linux 下去执行CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.goWindows 下去执行CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go2.Linux 下编译 , Mac 或者 Windows 下去执行Mac 下去执行CGO_ENABLED=0 GOOS=darwin G原创 2020-05-22 10:35:28 · 889 阅读 · 0 评论 -
goland编译报错cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
主要原因是本地的cc1.exe版本不是64位的,在64位环境下无法编译在网上查了很多方法都失败了,最后还是找到了解决方案https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-snapshot/下载下来解压后,放到自己想放的位置,然后配置环境变量,指向bin目录即可。...转载 2020-05-19 10:00:21 · 421 阅读 · 0 评论 -
go get google.golang.org/grpc 解决办法汇总
go get -u google.golang.org/grpc提示网络不通 package google.golang.org/grpc: unrecognized import path “google.golang.org/grpc” (https fetch: Get https://google.golang.org/grpc?go-get=1: ddial tcp 216.239.37.1:443: connectex: A connection ()解决方法(在src目录下)1.D:\原创 2020-05-14 17:04:22 · 5113 阅读 · 0 评论 -
golang拉取 google.golang.org/grpc 报错
go get google.golang.org/grpc报如下错误package google.golang.org/grpc: unrecognized import path “google.golang.org/grpc” (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)原因是grpc库已经迁移到https://github.com/grpc/g转载 2020-05-14 14:19:36 · 3146 阅读 · 0 评论 -
[Golang]读写文件操作
一般情况下,ioutil库读取文件的效率最高,bufio库次之,直接使用文件的Read加上buffer的方法效率最低。但对于大文件,设置相同大小的buffer有时bufio反而会更慢。1. ioutil读取文件func LoadFile(filename string) []byte { buf, err := ioutil.ReadFile(filename) //读取全部内...转载 2020-04-28 10:02:56 · 211 阅读 · 0 评论 -
【golang】go install与go build的区别
go install与go build都可生成执行文件go build 会生成可实行文件放在当前目录中。go install 则会把它放到 $GOPATH/bin 中。go install 还会把导入的依赖包编译到 $GOPATH/pkg,并缓存,如果包未做更改,下次编译则直接使用缓存。 go > > build 命令加参数 -i 也能达到go install 的效果。如果项目...原创 2020-04-27 11:36:38 · 651 阅读 · 0 评论