Dockerfile
1 2 3 4 5 6 7 8 9 10 |
FROM ubuntu RUN apt update \ && apt install golang -y \ && apt install dlv -y \ && apt install binutils -y \ && apt install vim -y \ && apt install gdb -y docker build -t go-docker . docker run -it --rm go-docker bash |
查看build 过程: go build -n main.go
查看Plan 9汇编:go build -gcflags -S main.go
汇编指令优化过程:GOSSAFUNC=main go build main.go
生成Wasm 指令:GOARCH=wasm GOOS=js go build -o lib.wasm main.go
编译前端(词法分析->句法分析->语义分析)->编译后端(中间码生成->代码优化->机器码生成)->链接
检测单元测试覆盖率:
1 2 3 |
$ go test -race -cover -coverprofile=./coverage.out -timeout=10m -short -v ./... $ go tool cover -func ./coverage.out $ go test -bench=. -benchmem |
开发规范
敏捷开发
Mock
CI/CD
Jenkins、GitLab、Argo、Github Actions、JenkinsX
文档
日志
权限管理
后台管理
微服务
其它工具
- Markdown TOC索引生成
- Golang 证书依赖检测
- 自动生成 CHANGELOG
- 命令行生成Commit Message
- readme模板
- Copilot 人工智能插件
- GraphQL 中文官网
- GitHub 标准 RESTful API
- gRPC
- grpc-gateway
- 命令行参数解析pflag
- 配置文件解析viper
- 命令行框架cobra
- 优雅关闭endless
- JWT RFC 7519
- Insomnia(Rest API客户端)
- iTerm2 + Oh My Zsh
- https://keymanager.org/
- OCI 标准组织
- GoConey(可视化测试)
- easyjson
- https://github.com/cosmtrek/air(实时重载)
- go-wrk
- ratelimit(漏桶)
- ratelimit(令牌桶)
- 算法可视化
学习资源
- Go 语言设计与实现
- 官方《Effective Go》 中文版
- Go 语言原本
- Go Web 编程
- Go语言圣经中文版
- Style guideline for Go packages
- Go Code Review Comments
- 《跟我一起写 Makefile》 (PDF 重制版)
- https://libs.garden/go
- https://golangrepo.com
- https://go.libhunt.com
- VSCode 底层编辑器:https://microsoft.github.io/monaco-editor/
- https://github.com/xinliangnote/go-gin-api
- https://github.com/dexidp/dex
- Go并发编程PPT
常见问题
1、go:linkname must refer to declared function or variable
1 |
go get -u golang.org/x/sys |