golang
golang学习记录
悟虚多言
一蓑烟雨任平生
展开
-
docker go 通过后缀识别文件类型不正确
golang 文件下载功能文件类型识别不正确,原因竟是docker原创 2022-03-10 18:54:47 · 1425 阅读 · 0 评论 -
golang chan select
golang chan select原创 2021-12-23 14:20:01 · 552 阅读 · 0 评论 -
解决panic: proto: duplicate enum registered: raftpb.EntryType
办错A future release will panic on registration conflicts. See:https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflictpanic: proto: duplicate enum registered: raftpb.EntryTypegoroutine 1 [running]:github.com/golang/pr原创 2021-05-31 16:34:49 · 2923 阅读 · 1 评论 -
ELK 7.12.0 搭建微服务日志系统
官方文档:数据收集:filebeat数据处理:logstash数据存储:elasticsearch数据查看:kibanalogstash+elasticsearch+kibana有docker-compose的组合安装套件,安装十分简单ELK套件。git拉下代码后直接docker-compose up 自动下载镜像并启动。参考配置:filebeat.yml# 输入配置,可以有多个输入源filebeat.inputs:- type: log # 监听文件路径,**..原创 2021-04-28 19:11:26 · 313 阅读 · 0 评论 -
goleveldb 可以在遍历,迭代时删除
goleveldb iter会创建快照,删除数据库内容后不影响当前迭代器。测试代码:func NewDBInstance(dbPath string) *leveldb.DB { db, err := leveldb.OpenFile(dbPath, nil) if err != nil { log.Fatal(err) } return db}func TestLeveldb(t *testing.T) { db := NewDBInstance("./test.db")..原创 2020-10-19 10:57:19 · 804 阅读 · 1 评论 -
go 是用oracle插件编译失败 orahlp.go:453:56: undefined: VersionInfo
报错样例 :# github.com/godror/godror/home/go/pkg/mod/github.com/godror/godror@v0.19.4/orahlp.go:453:56: undefined: VersionInfo/home/go/pkg/mod/github.com/godror/godror@v0.19.4/orahlp.go:462:56: undefined: VersionInfo/home/go/pkg/mod/github.com/godror/god原创 2020-10-16 16:01:23 · 1569 阅读 · 1 评论 -
go select ticker 实现定时任务
模板样例:func (s *Processer) run() { ticker := time.NewTicker(time.Duration(s.config.ScanInterval) * time.Second) for { select { case <-s.exit: return case <-ticker.C: s.scanFolder() } }}优点分析:1.select 同时竞争, 在等计时器时不需要等计时结束,可以直接退出.原创 2020-10-15 11:29:31 · 895 阅读 · 1 评论 -
go toml example
github 官方地址官方例子:// example.gopackage mainimport ( "fmt" "time" "github.com/BurntSushi/toml")type tomlConfig struct { Title string Owner ownerInfo DB database `toml:"database"` Servers map[string]server Clients clients}type .转载 2020-06-12 14:45:41 · 141 阅读 · 0 评论 -
go 数组与slice的区别
总结:1. 数组定长,定义的时候就需要确定。切片长度不定,append时会自动扩容2. 相同大小数组可以赋值,会拷贝全部内容。slice赋值和指针一样。数组和slice之间不能相互赋值。3. 数组也可以进行切片,返回值是一个slice,改变slice时会同步修改数组内容,相当于取得了这个数组的指针测试:1. 数组定长,定义的时候就需要确定。切片长度不定,append时会自动扩容// 数组定义方式// 1 写明长度c1 := [5]int{1, 2, 3} // 2 自动原创 2020-08-11 10:51:46 · 1372 阅读 · 0 评论 -
go 编译 method has pointer receiverd 问题解决
问题出现方式:接口赋值没有使用 &type Service interface { Identify(ctx context.Context, Data []byte) (int, error)}type VadService struct{}func (s *VadService) Identify(ctx context.Context, Data []byte) (int, error) { return 0,nil;}func test(){ /..原创 2020-06-09 14:35:12 · 2855 阅读 · 0 评论 -
go 常见问题记录
1. go-下拉包问题:golang unrecognized import path 完美解决方案go 无法下拉包 对应的github位置笔记go get失败时怎么办(golang.org/x/crypto/md4为例)如果您使用的 Go 版本是 1.13 及以上 (推荐)go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.io,direct-- 来自 https://goproxy.io/zh/2.p...原创 2020-06-05 16:42:56 · 316 阅读 · 0 评论 -
go http 学习记录
go-http:golang 构建HTTP服务,go http处理post请求// json 处理json.NewDecoder(bytes.NewReader(msg))json.NewEncoder(writer).Encode(msg)go-kit:go-kit examples,Go-kit 微服务入门指南,最终,为什么选择go-kit原创 2020-06-05 16:40:19 · 123 阅读 · 0 评论 -
go http json处理
// 转成string类型,需要包: "io/ioutil"// 可用于查看输入json结构样式body, _ := ioutil.ReadAll(request.Body)fmt.Println(string(body))// 直接转成结构体类型,需要包: "encoding/json"// 从reqesutBody里获取数据,数据结构是结构体Uservar user Usererr := json.NewDecoder(request.Body).Decode(&user).原创 2020-05-29 15:35:09 · 569 阅读 · 0 评论 -
go 无法下拉包 对应的github位置笔记
使用方法:1. 在需要位置(与网络地址相对应"https://golang.org/x/text") 下使用git clone命令下拉代码。例如 ${gopath}/src/golang.org/x2. 下拉完成后使用安装命令,例如:go install -x golang.org/x/text ,-x参数会输出go install过程中实际执行命令。// go get golang.org/x/textgit clone https://github.com/golang/text.g..原创 2020-05-28 16:32:17 · 420 阅读 · 0 评论 -
kafka连接失败:Failed to start Sarama producer: kafka: client has run out of available brokers to talk to
// 报错样式:"Failed to start Sarama producer: kafka: client has run out of available brokers to talk to (Is your cluster reachable?)"原因:服务器未开启对应端口监听// 处理,kafka服务器开启端口监听/sbin/iptables -I INPUT -p tcp --dport 9092 -j ACCEPT...原创 2020-05-27 11:24:29 · 4188 阅读 · 0 评论 -
panic: non-positive interval for NewTicker 问题处理
// 报错样式:panic: non-positive interval for NewTickergoroutine 59 [running]:time.NewTicker(0x0, 0x0) D:/Go/src/time/tick.go:23 +0x14egithub.com/bsm/sarama-cluster.(*Consumer).cmLoop(0xc000212000, 0xc0002ba1e0) D:/work/mygo/pkg/mod/github.原创 2020-05-27 11:16:31 · 4837 阅读 · 0 评论 -
go语言学习记录 - 持续更新中
基本语法学习:菜鸟教程go-标签:Go 中的标签原创 2020-05-21 13:17:31 · 767 阅读 · 0 评论