随笔分类 - go
摘要:出处:https://www.cnblogs.com/jiujuan/p/16014608.html 什么是 channel 管道# 它是一个数据管道,可以往里面写数据,从里面读数据。 channel 是 goroutine 之间数据通信桥梁,而且是线程安全的。 channel 遵循先进先出原则。
阅读全文
摘要:https://go-zero.dev/cn/docs/blog/concurrency/stream 流式处理数据
阅读全文
摘要:package main import ( "database/sql" "fmt" "time" _ "github.com/ClickHouse/clickhouse-go" ) // 连接池的最大数量 const maxConnections = 10 func connect() (*sql
阅读全文
摘要:使用go语言写一段代码,将未知结构的json解析出来 这里是一个例子: package main import ( "encoding/json" "fmt" ) func main() { var jsonData = []byte(`{"name": "John Doe", "age": 32}
阅读全文
摘要:1. 在linux amd64平台上编译ARM64可执行文件 CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -trimpath -ldflags='-extldflags=-static' -o main-arm64 main.go
阅读全文
摘要:原文地址:http://attilaolah.eu/2014/09/10/json-and-struct-composition-in-go/ 假设你正在把一个JSON对象解码为Go的结构体。该JSON来自不受你控制的服务,因此你无法操作它的模式。但你想用不同的方式进行编码。 你可以随意使用json
阅读全文
摘要:GJSON的使用 简介 什么是 Gjson: GJSON 是一个 Golang 包,它提供了一种快速,简单的方法来从 json 格式文档中获取值。它拥有比如单行检索,用 "." 符号来寻找路径,迭代和解析多行 json 的功能。 个人理解 Gjson 实际上就是一个比原生 json 解析更快更简单的
阅读全文
摘要:CGO_ENABLED=1 go build -trimpath -ldflags='-extldflags=-static' -tags musl,osusergo,netgo,sqlite_omit_load_extension -o packetbeat packetbeat/packetbe
阅读全文
摘要:1. make make也可以内存分配,但是和new不同。 它只用于chan、map、slice的内存创建,无可替代。 而且它返回的类型就是这三个类型本身,而不是他们的指针类型,因为这三种类型就是引用类型,所以就没有必要返回他们的指针了。 func make(t Type, size ...Inte
阅读全文
摘要:https://blog.csdn.net/K346K346/article/details/118314382?spm=1001.2014.3001.5501
阅读全文
摘要:go学习指南 https://www.bookstack.cn/read/For-learning-Go-Tutorial/README.md Go 的最佳实践 https://dablelv.github.io/go-coding-advice/
阅读全文
摘要:https://www.junmajinlong.com/golang/index/https://www.junmajinlong.com/golang/index/
阅读全文
摘要:1. 字符串处理 1.1 去除空白符 // this data still needs to be parsed lines = strings.Split(r.Output, "\n") for i = range lines { lines[i] = strings.TrimSpace(line
阅读全文
摘要:package commands import ( "fmt" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/push" ) func main() {
阅读全文
摘要:原文链接 https://www.cnblogs.com/wt11/p/15122036.html 参考链接 https://www.cnblogs.com/dongyuq1/p/13572477.html 1. 先自定义exporter package utils import ( "github
阅读全文
摘要:package utils import ( "fmt" "net/http" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" "gi
阅读全文
摘要:package main import ( "fmt" "sync" "time" ) // 方法一: 通过sync.WaitGroup + chan自定义 var tokens chan struct{} var wg sync.WaitGroup func fprint(num int) { d
阅读全文
摘要:## 自己总结的接口的由来:## 先定义两个结构体A、B, > 给A、B分别定义两个结构体方法A.area、A.perim、B.area、B.perim > 正巧,这两个结构体有相同的方法,就把这些方法提出来,构造成## 一个结构体:type some_name(自定义的结构体名称 ) interfaces(固定关键字) { area() float64 perim() float64} > 调用
阅读全文
摘要:go中的方法(method),跟函数(function)不是一个概念,一定要区分,它的概念与python中的类方法类似。 go中是没有类的概念的,所以,go要想实现类 多种属性集合的功能的话,必须要使用结构体: python中要想实现一个类方法很容易,但是go中如何实现一个类似的功能呢? 那就使用方
阅读全文
摘要:Cannot load xxx: cannot find module providing package xxx 附: 相关代码 goroute.go main.go
阅读全文