Go基本环境配置

Go基本环境配置

下载

环境变量配置

1
2
3
4
5
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
export GOROOT=/usr/local/go
export GOPATH=~/go/path
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

环境变量生效

1
2
source /etc/profile ##在当前bash环境下读取并执行profile中的命令。
go env 

初始化项目

  • gin demo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import "github.com/gin-gonic/gin"

func main() {
    // 创建一个默认的Gin引擎
    r := gin.Default()

    // 定义一个简单的GET请求路由
    r.GET("/", func(c *gin.Context) {
        c.String(200, "Hello, Gin!")
    })

    // 启动HTTP服务器,监听在 8080 端口
    r.Run(":8080")
}
  • 初始化项目
1
2
3
go mod init example.com/gin_demo
go mod tidy
go build

编译

1
go build -o main.exe main.go

运行

  • 直接运行编译后的可执行程序
  • go run 运行源代码

vim配置

vim配置vim-go推出时语法检查

相关工具

1
let g:syntastic_go_checkers = ['govet', 'errcheck', 'go']
  • GoBinaryInstall
1
2
go install github.com/nsf/gocode@latest
go install github.com/golang/lint@latest
  • vim GoRun报错
1
malformed import path "go: cannot find main module, but found .git/config in /data/test": invalid ch

常见问题

GO111MODULE

当我们配置好go环境,可以正常使用go命令,但是使用 sudo 权限执行 go 命令,出现“sudo: go:找不到命令”时:

1
2
sudo vim /etc/sudoers
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin"

go mod 模式下如何引入本地包名

go语言前景

go框架

网络安全

游戏框架

日志库

字节内部框架

  • Hertz:应用在字节跳动自研 Golang HTTP 框
  • Ginex
  • KiteX:字节自有 RPC 框架

参考