初始化项目
go mod init github.com/0x3ea/KeyForge
带上前缀的作用:
- 模块唯一标识
防止命名冲突
- 自动下载依赖
# Go 会从 github.com 自动拉取代码
go get github.com/0x3ea/KeyForge
- 版本管理
import "github.com/gin-gonic/gin/v2" // 带版本号
引用函数
"github.com/0x3ea/KeyForge/internal/crypto"
key := crypto.GenerateKey([]byte("123456"))
构建项目
go build -o Keyforge
工具
gofmt
# 显示当前文件与格式化后版本的差异对比(diff),但不修改原文件。
gofmt -d 文件名.go
| 命令 | 行为 |
|---|---|
gofmt -w 文件.go | 直接覆盖写入格式化后的内容 |
gofmt -l 文件.go | 只列出需要格式化的文件名 |
gofmt -d 文件.go | 打印 diff,不修改文件 |
gofmt 文件.go | 打印格式化后的完整内容到 stdout |
go test
go test ./... # 执行当前目录下的所有测试
Go 通过文件名约定来识别测试文件,文件名以_test.go结尾
测试文件里必须包含 import “testing”
测试函数的格式必须为 func TestXxx(t *testing.T)