Golang开发完整指南

25 年 3 月 13 日 星期四
488 字
3 分钟

1. 拉取代码与环境准备

sh
# 克隆代码仓库
git clone https://github.com/your-username/your-project.git
cd your-project

# 确保Go环境已安装
go version

2. 安装依赖

sh
# 初始化Go模块(如果尚未初始化)
go mod init github.com/your-username/your-project

# 下载所有依赖
go mod download

# 整理并更新依赖
go mod tidy

3. 项目运行

sh
# 直接运行主程序
go run main.go

# 或者运行特定文件
go run cmd/app/main.go

# 带参数运行
go run main.go -config=./config.yaml

4. 测试

sh
# 运行所有测试
go test ./...

# 运行特定包的测试
go test ./pkg/service

# 带覆盖率测试
go test -cover ./...

# 生成覆盖率报告
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out -o coverage.html

5. 多平台构建

sh
# 构建当前平台可执行文件
go build -o app main.go

# Linux 64位构建
GOOS=linux GOARCH=amd64 go build -o app-linux-amd64 main.go

# Windows 64位构建
GOOS=windows GOARCH=amd64 go build -o app-windows-amd64.exe main.go

# macOS 64位构建
GOOS=darwin GOARCH=amd64 go build -o app-darwin-amd64 main.go

# ARM架构构建(如树莓派)
GOOS=linux GOARCH=arm GOARM=7 go build -o app-linux-arm main.go

6. 使用Makefile简化构建流程

makefile
.PHONY: build test clean all

# 默认目标
all: clean build test

# 构建应用
build:
	go build -o bin/app main.go

# 多平台构建
build-all:
	GOOS=linux GOARCH=amd64 go build -o bin/app-linux-amd64 main.go
	GOOS=windows GOARCH=amd64 go build -o bin/app-windows-amd64.exe main.go
	GOOS=darwin GOARCH=amd64 go build -o bin/app-darwin-amd64 main.go

# 运行测试
test:
	go test -v ./...

# 清理构建文件
clean:
	rm -rf bin/
	mkdir -p bin/

7. 使用Docker构建和运行

dockerfile
# 构建阶段
FROM golang:1.21-alpine AS builder
WORKDIR /app
COPY . .
RUN go mod download
RUN go build -o /app/bin/app main.go

# 运行阶段
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/bin/app .
COPY config.yaml .
EXPOSE 8080
CMD ["./app"]
sh
# 构建Docker镜像
docker build -t your-app:latest .

# 运行Docker容器
docker run -p 8080:8080 your-app:latest

8. 常用开发工具

sh
# 安装代码质量检查工具
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

# 运行代码检查
golangci-lint run

# 安装热重载工具
go install github.com/cosmtrek/air@latest

# 使用air进行热重载开发
air

希望这份Golang开发指南对您有所帮助!如需更多详细内容或特定场景的指导,请随时告诉我。

文章标题:Golang开发完整指南

文章作者:Jinx

文章链接:https://blog.mytest.cc/posts/golang-development-guide[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。