GO语言之旅
研究了一下 Go 语言,发现这个语言对目前项目来说,节省内存,高qps以及服务器无需安装环境可直接运行等优点,竟然已经到这里了多少也要尝试一下
on
2026/10/21
教程
推荐阅读GO语言菜鸟教程,我也是从这里开始起步学习安装环境
官网下载地址:https://go.dev/dl/
这里我因为使用的是MacBook m1的cpu所以这里选ARM64直接安装,此安装包有安装引导程序,无需手动设置环境变量
VSCODE插件安装
vscode扩展中搜索go选择下面这个插件安装
运行第一个程序
毫无例外,先打印一个hello world起手。新建hello.go文件package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
主流框架选择
我是用go语言的目标就是用它来开发web服务器,所以需要寻找一个合适的web框架架子,这里我是用deepseek搜索了市面上的常见主流web框架做对比,最终选择使用Gin框架
初始化框架
# 1. 创建并进入项目目录
mkdir my-gin-app
cd my-gin-app
# 2. 初始化 Go 模块(把 my-gin-app 换成你的项目名)
go mod init my-gin-app
# 3. 安装 Gin 依赖
go get -u github.com/gin-gonic/gin
第一个接口
package main
import (
"log"
"net/http"
"os"
"github.com/gin-gonic/gin"
)
// This function's name is a must. App Engine uses it to drive the requests properly.
//
//nolint:gochecknoinits // init is required by App Engine
func main() {
// Starts a new Gin instance with no middle-ware
r := gin.New()
// Define your handlers
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello World!")
})
r.GET("/ping", func(c *gin.Context) {
c.String(http.StatusOK, "pong")
})
// Handle all requests using net/http
http.Handle("/", r)
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
log.Fatal(http.ListenAndServe(":"+port, nil))
}
编译
go build -o server .
可能会出现报错,所以需要改国内源
go env -w GOPROXY=https://goproxy.cn,direct && go env -w GOSUMDB=sum.golang.google.cn && go env GOPROXY GOSUMDB && go mod download golang.org/x/sys@v0.47.0
运行
PORT=8090 ./server
