GO语言之旅

研究了一下 Go 语言,发现这个语言对目前项目来说,节省内存,高qps以及服务器无需安装环境可直接运行等优点,竟然已经到这里了多少也要尝试一下

by
江江
on
2026/10/21
GO语言之旅
go

教程

推荐阅读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
江江江江于 2026-10-26 16:47:31 修改阅读 257评论 1点赞 2