golang 相关资料

606 阅读11分钟

goland

goland *.http

【GoLand教程】详解 GoLand HTTP 客户端

  1. 思维导图

go语言知识点,基础

GO语言 思维导图模板_ProcessOn思维导图、流程图

78_Golang 入门笔记 思维导图模板_ProcessOn思维导图、流程图

golang 知识全解 思维导图模板_ProcessOn思维导图、流程图

标准库

目录 - 《Go语言标准库(The Golang Standard Library by Example)》 - 书栈网 · BookStack

de0701905ae43997a32065fce8e1c06.jpg

CLI

link command - cmd/link - Go Packages

开业笔记

guyan0319/golang_development_notes: golang development notes go语言开发笔记 (github.com)

  1. 编码规范

xxjwxc/uber_go_guide_cn: Uber Go 语言编码规范中文版. The Uber Go Style Guide . (github.com)

Comprehensive Guide to Testing in Go | The GoLand Blog (jetbrains.com)

go command - cmd/go - Go Packages

  1. golang 官网

The Go Programming Language (google.cn)

Go Packages - Go Packages

查询手册:

Quick Reference & Quick Reference

菜鸟教程:

Quick Reference - 开发人员速查表 (gy328.com)

Makefile:

GitHub - xyproto/sdl2-examples: SDL2 examples, for 25+ different programming languages

GitHub - thockin/go-build-template: A Makefile/Dockerfile example for Go projects.

Makefiles with Go - Golang Docs

CMake:

基于CMake构建标准GoLang编译和打包框架 | 笔迹-工匠之芯 (icorer.com)

  1. golang 标准库

Standard library - Go Packages

Go语言标准库 - Go语言中文网 - Golang中文社区 (studygolang.com)

常用标准库 · Go语言中文文档 (topgoer.com)

Golang标准库中文文档

Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 (studygolang.com)

  1. golang 在线教程

Go 语言进阶学习书籍有哪些值得推荐? - 知乎 (zhihu.com)

刘丹冰Aceld · 语雀 (yuque.com)

Go语言101 (go101.org)

前景 · Go语言中文文档 (topgoer.com)

《培训-golang-高级编程》 | Go 技术论坛 (learnku.com)

首页 | Golang中文学习文档 (halfiisland.com)

Go 语言设计与实现 | Go 语言设计与实现 (draveness.me)

《Go 入门指南》 | Go 技术论坛 (learnku.com)

Changkun Ou | Go 语言原本 (golang.design)

枫枫知道|文档 (fengfengzhidao.com)

枫枫知道个人博客|首页 (fengfengzhidao.com)

码神之路知识体系 (mszlu.com)

豆子家的学习笔记 (yuque.com)

golang 趣味指南随书代码

nathany/get-programming-with-go: Source code listings for Get Programming with Go, a beginner's guide to the Go programming language. (github.com)

golang 并发编程

overnote/over-golang: Golang相关:[审稿进度80%]Go语法、Go并发思想、Go与web开发、Go微服务设施等 (github.com)

go-talent/12.并发编程.md at master · datawhalechina/go-talent (github.com)

weirubo/go-concurrent: Golang 并发编程 (github.com)

Golang 并发编程 | Hedon (hedon954.github.io)

golang 项目布局

【必看】标准的 Go 项目布局 - 掘金 (juejin.cn)

golang mod package 校验错误

解决使用go mod和git管理代码导致的go.sum校验和不匹配问题_go.sum不匹配-CSDN博客

go 交叉编译:windows

“‘GOOS”不被识别为内部或外部命令、可操作的程序或批处理文件。-腾讯云开发者社区-腾讯云 (tencent.com)

golang在windows环境下build生成linux程序 - 知乎 (zhihu.com)

Golang windows下 交叉编译 - 牛奔 - 博客园 (cnblogs.com)

go - 构建时的 GCC 未定义引用_Stack Overflow中文网

go 博客

Golang TCP Server and Client Example [Tutorial] | GoLinuxCloud

  1. 硬件信息

github.com/jaypipes/gh…

github.com/elastic/go-…

  1. 中介者

github.com/mehdihadeli…

  1. 资源信息

shirou/gopsutil: psutil for golang (github.com)

  1. com 绑定

github.com/go-adsi/ads… github.com/scjalliance… github.com/go-ole/go-o…

  1. PLC

github.com/apache/plc4…

  1. orm

gorm

github.com/go-gorm/gor…

donaldfeury.xyz/code-first-…

ent

ent/ent: An entity framework for Go (github.com)

xorm

XORM - Simple and Powerful ORM for Go

  1. lua

github.com/yuin/gopher…

  1. c#

github.com/ropnop/go-c…

  1. golang dynamic

traefik/yaegi: Yaegi is Another Elegant Go Interpreter (github.com)

github.com/cloudwego/d…

  1. golang 内嵌脚本语言 go embed script

Golang最好用的内嵌脚本语言是哪个? - 知乎 (zhihu.com)

traefik/yaegi: Yaegi is Another Elegant Go Interpreter (github.com)

risor-io/risor: A fast and flexible embedded scripting language for Go projects. (github.com)

d5/tengo: A fast script language for Go (github.com)

expr-lang/expr: Expression language and expression evaluation for Go (github.com)

纯go 实现的 js 脚本解析器

dop251/goja: ECMAScript/JavaScript engine in pure Go (github.com)

  • 规则引擎

RuleGo

  1. linq

ahmetb/go-linq: .NET LINQ capabilities in Go (github.com)

  1. goroutine pool

panjf2000/ants: 🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go./ ants 是一个高性能且低损耗的 goroutine 池。 (github.com)

  1. plugin
  • go-plugin

hashicorp 开源go-plugin构建go的插件系统 - 知乎 (zhihu.com)

hashicorp/go-plugin: Golang plugin system over RPC. (github.com)

how debug plugin ?

how do debug plugin · Issue #194 · hashicorp/go-plugin (github.com)

goland进阶-调试本地进程 - GO语言笔记 - SegmentFault 思否

  • 编译生成无优化的程序
  • 附加进程进行调试

具体做法:

  • plugin 使用无优化编译
  • 主进程与plugin进程分别开其一个goland项目
  • 主进程,直接调试
  • plugin 使用 附加进程的方式调试

无优化编译:

go build -gcflags="all=-N -l" -o ~/my-plugin main.go
  • NET go-plugin

adding go-plugin example using C# by ebekker · Pull Request #102 · hashicorp/go-plugin (github.com)

参考:

hashicorp go-plugin构建golang插件系统_hashicrop go-plugin_编程实战营的博客-CSDN博客

  1. engine

gengine

  1. dapr

Dapr介绍 | Dapr学习笔记 (skyao.io)

  • darp api gateway 结合

Dapr 集成 APISIX 做API网关 - 张善友 - 博客园 (cnblogs.com)

  • go dapr demo

haobiaosheng/dapr-demo-go: dapr-demo with go (github.com)

  • dapr apisix

geffzhang/apisix-and-dapr: 部署集成Dapr的apisix (github.com)

Enable Dapr with Apache APISIX Ingress Controller | Dapr Blog

  1. IOC

alibaba/IOC-golang: 一款服务于 Go 开发者的依赖注入框架,方便搭建任何 Go 应用。 A Golang depenedency injection framework, helps developers to build any go application. (github.com)

go-spring/go-spring: 基于 IoC 的 Go 后端一站式开发框架 ( All-in-One Development Framework on IoC for Go ) 🚀 (github.com)

  1. Cassandra

gocql/gocql: Package gocql implements a fast and robust Cassandra client for the Go programming language. (github.com)

Cassandra | Dapr 文档库

  1. API Gateway
  • api gateway 选型

微服务api gateway选择tyk还是kong,或者其他方案? - 知乎 (zhihu.com)

Apache APISIX® -- Cloud-Native API Gateway

告别 Lua、Go、Wasm 插件,是时候用低代码 API 网关了 - 知乎 (zhihu.com)

  1. 日志
  • 库推荐

golang 好用的log库有哪些? - 知乎 (zhihu.com)

  • 日志库

uber-go/zap: Blazing fast, structured, leveled logging in Go. (github.com)

  1. 数据中心-服务注册与发现

hashicorp/consul: Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. (github.com)

  1. 并发库

sourcegraph/conc: Better structured concurrency for go (github.com)

  1. 工具库

duke-git/lancet: A comprehensive, efficient, and reusable util function library of Go. (github.com)

  • go 相对路径

golang 文件操作时相对路径问题_golang 相对路径-CSDN博客

filepath package - path/filepath - Go Packages

Go path/filepath文件路径操作 - -零 - 博客园 (cnblogs.com)

gandarez/go-realpath: This finds the true path of a file or directory, resolving any symbolic links. (github.com)

  1. 性能分析工具

google/pprof: pprof is a tool for visualization and analysis of profiling data (github.com)

  1. GUI 系列库

go-graphics/go-gui-projects: A list of Go GUI projects (github.com)

goki/gi: A free and open source framework for building powerful, fast, and beautiful 2D and 3D GUIs that run on macOS, Windows, Linux, iOS, and Android with a single pure Go codebase. --- goki/gi:一个免费的开源框架,用于构建功能强大、快速且美观的 2D 和 3D GUI,这些 GUI 可在 macOS、Windows、Linux、iOS 和 Android 上运行,只需一个纯 Go 代码库。 (github.com)

  • go-flutter

Hover

  1. 内存数据库

hashicorp/go-memdb:建立在不可变基数树上的 Golang 内存数据库 (github.com)

tidwall/buntdb: BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support (github.com)

  1. 内存缓存

patrickmn/go-cache: An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. (github.com)

  1. 通用配置viper

spf13/viper: Go configuration with fangs (github.com)

cristalhq/aconfig: Simple, useful and opinionated config loader. (github.com)

  1. wails 可视化拖拽UI

duolabmeng6/GoEasyDesigner: 这是一个强大的窗口可视化设计项目,旨在满足多平台需求,包括Windows、macOS和Linux。 (github.com)

  1. 服务注册与发现

Consul by HashiCorp

  • go consul demo

janlely/consul-go-grpc-demo: 用consul做grpc的服务注册与发现,示例代码 (github.com)

  • go consule demo 博客

consul的基本使用---golang - 掘金 (juejin.cn)

对应demo,看这个呀

kRpc/feature/consul_demo at master · wuhuZhao/kRpc (github.com)

  1. go 程序单例运行

windows - Restricting to Single Instance of Executable with Golang - Stack Overflow

allan-simon/go-singleinstance: cross plateform library to have only one instance of a software (based on python's tendo) (github.com)

  1. go net 库

shaovie/goev: goev is a lightweight, concise i/o event demultiplexer implementation in Go (github.com)

  1. go 微服务

go-micro/go-micro: A Go microservices framework (github.com)

  1. 配置中心

stack-labs/XConf: 分布式配置中心 (github.com)

go-chassis/go-archaius: a dynamic configuration framework used in distributed system (github.com)

  1. 微服务

weaver/docs at main · ServiceWeaver/weaver · GitHub

  1. cgo

go command - cmd/go - Go Packages

cgo command - cmd/cgo - Go Packages

微服务后台管理

simple-admin-core: Simple Admin是一个基于go zero开发的的分布式微服务后端管理系统脚手架,提供后台管理系统的所有基本功能,支持k8s快速部署,助力快速开发高并发微服务集群,适合学习和商用。Simple Admin is a powerful microservice framework for basic management. It is based on go-zero and supports (gitee.com)

  1. go 导出动态库、生成lib

go程序生成windows平台下dll和lib方法_go 生成 .lib-CSDN博客

  1. go s7 协议

robinson/gos7: Implementation of Siemens S7 protocol in golang (github.com)

Kowiste/ProfinetServer (github.com)

wwhai/profinet-server-emulator (github.com)

  1. 配置(yaml|json|env)

器 | Go四种方式读取环境配置文件 - 掘金 (juejin.cn)

  • toml

TOML:Tom 的(语义)明显、(配置)最小化的语言

令人崩溃的yaml(yml配置)对比properties、json、TOML_yaml 解析器对比-CSDN博客

  1. sql 生成

Compile SQL to type-safe code | sqlc.dev

  1. web framework

labstack/echo: High performance, minimalist Go web framework (github.com)

gin-gonic/gin: Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. (github.com)

  1. go 脚手架

go-nunu/nunu: A CLI tool for building Go applications. (github.com)

lacion/cookiecutter-golang: A Go project template (github.com)

  1. go ioc

google/wire: Compile-time Dependency Injection for Go (github.com)

  1. mqtt

mqtt server

mochi-mqtt/server: The fully compliant, embeddable high-performance Go MQTT v5 server for IoT, smarthome, and pubsub (github.com)

mqtt client rpc

eclipse-paho/paho.golang: Go libraries

  1. 工具库

duke-git/lancet: A comprehensive, efficient, and reusable util function library of Go. (github.com)

samber/lo: 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...) (github.com)

jinzhu/copier: Copier for golang, copy value from struct to struct and more (github.com)

samber/lo: 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...) (github.com) 57. 工作流

Bunny3th/easy-workflow: GO语言开发的简单易用工作流 (github.com)

  1. 静态分析工具

uber-go/nilaway: Static analysis tool to detect potential nil panics in Go code (github.com)

  1. 无 cgo 调用 c

ebitengine/purego (github.com)

c 结构体解析

JupiterRider/ffi: A purego binding for libffi. (github.com)

  1. 国际化

json→arb

leancodepl/poe2arb: POEditor JSON to Flutter ARB converter (github.com)

  1. protobuf

bufbuild/protovalidate-go: Protocol Buffer Validation for Go (github.com)

bitquery/protobuf-sql: Protoc plugin to generate SQL from proto files (github.com)

jackskj/carta: SQL data mapper for Go (github.com)

tcncloud/protoc-gen-persist: GRPC SQL and Spanner persistence layer (github.com)

  1. duckdb

davidgasquez/awesome-duckdb: 🦆 A curated list of awesome DuckDB resources (github.com)

导出工具:

krzko/proto2yaml: 🔄 A command-line utility to export Protocol Buffers (proto) files to YAML and JSON (github.com)

tools.itjsz.com/

  1. Copier mapper

jinzhu/copier: Copier for golang, copy value from struct to struct and more (github.com)

  1. json

sonic 不支持 loongarch64 risvc64

bytedance/sonic: A blazingly fast JSON serializing & deserializing library (github.com)

goccy/go-json: Fast JSON encoder/decoder compatible with encoding/json for Go (github.com)

json转struct

twpayne/go-jsonstruct: Generate Go structs from multiple JSON or YAML objects. (github.com)

  1. gin

gin-gonic/gin: Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. (github.com)

krsoninikhil/go-rest-kit: FastAPI like controllers for gin based Go apps. Ready made packages for quickly setting up REST APIs in Go (github.com)

  1. sqlbuilder

go 拼接sql

huandu/go-sqlbuilder: A flexible and powerful SQL string builder library plus a zero-config ORM. (github.com)

go 参考项目

xinliangnote/go-gin-api: 基于 Gin 进行模块化设计的 API 框架,封装了常用功能,使用简单,致力于进行快速的业务研发。比如,支持 cors 跨域、jwt 签名验证、zap 日志收集、panic 异常捕获、trace 链路追踪、prometheus 监控指标、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、gormgen 代码生成工具、graphql 查询语言、errno 统一定义错误码、gRPC 的使用、cron 定时任务 等等。 (github.com)

go 知识点

  1. context

深入理解Golang之context (zhihu.com)

数据库

  1. duckDb

DuckDB - An in-process SQL OLAP database management system

驱动:

GitHub - marcboeker/go-duckdb: go-duckdb provides a database/sql driver for the DuckDB database engine.

alifiroozi80/duckdb: GORM duckdb driver

无cgo

scottlepp/go-duck: A Golang DuckDB library that doesn't require CGO (github.com)

GitHub - beswarm/duckdb-driver: DuckDB driver for gorm.io.

nirdosh17/go-service-with-duckdb: Sample containerized Go service using DuckDB (github.com)

scottlepp/go-duck: A duck db driver that doesn't require CGO (github.com)

迁移:

GitHub - kubecost/golang-migrate-duckdb: Internal fork of "golang-migrate/migrate" with added support for DuckDB migrations. If this experiment goes well, we may want to contribute DuckDB support to upstream.

教程:

Docs (feishu.cn)

A Comprehensive Guide for Using DuckDB With Go | HackerNoon

duckdb restful crud :

senthilsweb/goduck: Goduck, a dynamic REST API project implemented in Golang, draws inspiration from the innovative approaches of RillData and the robust reliability of MotherDuck. Goduck offers REST API capabilities for tables and models, following a Micro ORM design pattern akin to PostgREST. This documentation provides an in-depth overview of the project's unique f (github.com)

senthilsweb/duckdb-data-api: Data API and micro orm for DuckDB and MotherDuck (github.com)

duckdb 数据分析,取代spark

duckdb/dbt-duckdb: dbt (http://getdbt.com) adapter for DuckDB (http://duckdb.org) (github.com)

duckdb 相关资料汇总

davidgasquez/awesome-duckdb: 🦆 A curated list of awesome DuckDB resources (github.com)

  1. sqlite

SQLite Home Page

  1. database sql

介绍 | Go database/sql 指南 (meilihao.github.io)

Go database/sql 教程 - 知乎 (zhihu.com)

在 Go 中如何使用 database/sql 来操作数据库 - 知乎 (zhihu.com)

  1. 数据库迁移工具

golang-migrate/migrate: Database migrations. CLI and Golang library. (github.com)

image.png

pressly/goose: A database migration tool. Supports SQL migrations and Go functions. (github.com)

image.png

rubenv/sql-migrate: SQL schema migration tool for Go. (github.com)

ariga/atlas: Manage your database schema as code (github.com)

go-gormigrate/gormigrate: Minimalistic database migration helper for Gorm ORM (github.com)

日志收集系统

  • 日志收集系统 选型推荐

哪一个开源的日志收集系统比较好? - 知乎 (zhihu.com)

轻量级日志系统Loki原理简介和使用 - 知乎 (zhihu.com)

  • 开源日志收集系统

qiniu/logkit: Very powerful server agent for collecting & sending logs & metrics with an easy-to-use web console. (github.com)

Fluentd | Open Source Data Collector | Unified Logging Layer

Grafana Loki OSS | Log aggregation system

GRPC

1.grpc安装 (fengfengzhidao.com)

tidwall/buntdb: BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support (github.com)

工具

api 调试工具

Apifox - API 文档、调试、Mock、测试一体化协作平台 - 接口文档工具,接口自动化测试工具,接口Mock工具,API文档工具,API Mock工具,API自动化测试工具

git

Git版本控制及Goland使用Git教程_goland配置git-CSDN博客

协议包

modbus

simonvetter/modbus: Go modbus stack (client and server) (github.com)

前端

可视化设计

pengxiaotian/datav-vue: A Powerful Data Visualization Tool. Uses TypeScript And Vue3. Scenario-specific templates. User-friendly interfaces. 一款数据可视化应用搭建工具 (github.com)