![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言开发笔记
文章平均质量分 61
Initial-T
规格严格,功夫到家。做优秀的软件工程师,写漂亮的代码。
展开
-
prometheus的remotewrite解析
WAL是每两小时压缩一次,如果远程写入的目标地址挂了超过两个小时,就会导致这段时间没被发送的数据丢失。prometheus配置了remote write的目标地址后,它会从WAL读取数据,然后把采样数据写入各分片的内存队列,最后发起向远程目标地址的请求。prometheus没有提供远程存储,但提供了远程存储的接口,远程存储只要实现这一接口,即可存储和读取prometheus的数据;实现:与prometheus做的事情相反,先进行sappy的解压缩,然后再protobuf反序列化,得到真实的数据。原创 2023-01-16 18:05:33 · 5101 阅读 · 0 评论 -
【可能是全中文网最全】pushgateway入门笔记
博客Pushgateway 是一种中介服务,它允许从无法抓取的作业中推送指标。其为了允许临时和批处理作业向 Prometheus 公开其指标。由于这些类型的job可能存在的时间不够长而无法被抓取,因此他们可以将指标推送到 Pushgateway。然后 Pushgateway 将这些指标公开给 Prometheus。通常,Pushgateway 唯一有效的用例是用于捕获服务级批处理作业的结果, “服务级别”批处理作业是与特定机器或作业实例在语............原创 2022-06-07 16:09:03 · 5849 阅读 · 5 评论 -
提升编程效率的在线小工具总结
1 json在线解析JSON在线解析及格式化验证 - JSON.cn2 json转Go结构体Json转Go,Json生成Golang结构体 - 在线工具(nhooo.com)3 正则表达式速查与转换正则表达式在线代码生成工具 - 在线工具(nhooo.com)...原创 2022-02-08 16:45:26 · 214 阅读 · 0 评论 -
《The Way to Go》Go语言入门笔记【1】(一到四章)
整理参考自:the-way-to-go_ZH_CN/01.2.md at master · unknwon/the-way-to-go_ZH_CN · GitHub一 概览1 优点:快速编译,高效执行,易于开发。类型安全和内存安全的编程语言。虽然 Go 语言中仍有指针的存在,但并不允许进行指针运算。对于网络通信、并发和并行编程的极佳支持。2 代码的可读性是软件工程里最重要的一部分。作为强类型语言,隐式的类型转换是不被允许的,记住一条原则:让所有的东西都是显式的。这是第一门完全支持 UTF...原创 2021-12-16 19:33:41 · 961 阅读 · 0 评论 -
Go语言高级编程学习笔记 - Web开发
Go语言Web开发笔记本文是 教程 Go语言高级编程的 学习笔记,本部分链接第5章 Go和Web · Go语言高级编程1 Go的Web框架大致可以分为这么两类: Router框架 : 对httpRouter进行简单的封装,然后提供定制的中间件和一些简单的小工具集成比如gin,主打轻量,易学,高性能 MVC类框架: 借鉴其它语言的编程风格的一些MVC类框架,例如beego2 根据我们的经验,简单地来说,只要你的路由带有参数,并且这个项目的API数目超过了10,就尽量原创 2021-09-29 10:43:38 · 502 阅读 · 0 评论 -
go开发笔记——日志模块logrus的使用
项目地址:1 最简单的例子package mainimport "github.com/sirupsen/logrus"func main(){ logrus.Info("hello logrus")}参考链接:Go 每日一库之 logrus原创 2021-07-05 18:59:50 · 162 阅读 · 0 评论 -
window下搭建go-zero开发环境记录
1 golang安装下载并安装Go for Windows2原创 2021-05-28 16:30:23 · 1059 阅读 · 0 评论 -
go语言笔记—2021.5
1 配置文件可以写成yaml格式2 启动redis命令./redis-server /etc/redis/6379.conf3 go modgo mod init projectName 初始化go mod tidy 拉取缺少的模块,移除不用的模块4 格式化go代码go fmt5 go中的条件语句if{...}elif //错误}else if 正确6 判断字符串中是否包含指定字符strings.Contains(str, chstr)7 特殊注原创 2021-05-13 19:39:07 · 271 阅读 · 0 评论 -
Golang笔记——json解析问题
在golang中利用 工具包”encoding/json ” 实现编解码json编码定义结构体,编码,转换为[]byte格式package mainimport ( "encoding/json" "fmt")type Page struct { Code int `json:"code"` Result interface{} `json:"result"`}func main() { p := &Page{ Result: "hello .原创 2021-04-25 19:40:40 · 673 阅读 · 0 评论 -
Go并发编程——Waitgroup与mutex的问题
1 Go vet 命令在编写代码时非常有用。它可以帮助您检测应用程序中任何可疑、异常或无用的代码。该命令实际上由几个子分析器组成,甚至可以与您的自定义分析器一起工作。例子:D:\Go_workSpace\test_zbx_proxy>go vet 测试互斥锁的传值.go# command-line-arguments.\测试互斥锁的传值.go:8:25: printI passes lock by value: sync.Mutex.\测试互斥锁的传值.go:8:39: printI原创 2021-04-22 13:51:46 · 427 阅读 · 0 评论 -
利用channel进行golang语言中的并发控制
上程序:package mainimport ( "fmt" "time")func printi(i int,goroutine_cnt chan int) { fmt.Println(i) time.Sleep(10*time.Microsecond) <- goroutine_cnt}func main() { goroutine_cnt := make(chan int, 10) for i:=1;i<10000;i++{ goroutine_c.原创 2021-04-14 16:43:42 · 198 阅读 · 0 评论 -
go语言导入自定义包
1 在项目的src文件夹下,新建目录为 test_dir2 目录下新建go文件,分别为hello.go与test_hello.go代码为:package test_pkgimport "fmt"func PrintHello(){ fmt.Println("Hello, 我在 test_dir 目录下的 utils 包里")}package test_pkgimport "fmt"func Test_pkg () { fmt.Println("测试包的.原创 2021-03-29 16:44:19 · 2552 阅读 · 0 评论 -
golang跨平台打包部署
问题描述: 开发基于windows环境,要部署到linux(centos)环境运行。1 交叉编译知识Golang从1.5版本起支持交叉编译,可以在一个平台上生成另一个平台的可执行程序,非常方便。需要指定的参数:环境变量GOOS(操作系统) GOARCH(架构) CGO_ENABLED(是否启用cgo)2 步骤本地编写程序 hello_world.go:package mainimport "fmt"func main(){ fmt.Println("Hello Wo原创 2021-03-25 15:26:41 · 1222 阅读 · 1 评论 -
go语言学习笔记(1)
Golang笔记1 空接口是指没有定义任何接口方法的接口。没有定义任何接口方法,意味着Go中的任意对象都可以实现空接口(因为没方法需要实现),任意对象都可以保存到空接口实例变量中。定义方式:type empty_int interface {}简写为type empty_int interface{}或直接使用其作为一种类型,表示空接口// 声明一个空接口实例var i interface{}函数使用空接口类型参数func myfunc(i interfa原创 2021-03-23 18:57:04 · 118 阅读 · 0 评论 -
Go语言要点笔记
摘录一些个人认为需要记录的点。1 执行命令: go run编译命令: go bulid2 main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。3 注释 //单行注释 /*多行注释*/4 标识符以一个大写字母开头,如:Group1,可以被外部包的代码所使用(类似public);标识符如果以小写字母开头,则对包外是不可见的(类似 protected)5 { 不能单独放在一行6 字符串可以通过原创 2020-12-31 17:35:24 · 98 阅读 · 0 评论