golang后台运行模式(一起使用GOgolang)
golang后台运行模式(一起使用GOgolang)上边都说了如何开启了。下面介绍下如何使用root@ubuntu:~/myGoProjectNew# go env GO111MODULE="auto" GOARCH="amd64" GOBIN="" GOCACHE="/home/hcy/.cache/go-build" GOENV="/home/hcy/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/root/go/pkg/mod" GONOPR
原项目采用gopath来管理的引用库,但有小伙伴反应说包不好下,虽然我把对应的包做了百度云盘共享,但小伙伴们仍然感觉不太好用。特别是最近把go SDK升级到1.18.在管理包上终于下决心使用mod来重新重构下包管理。
一、配置启用Mod
首先那:
go env
确定是否开启了
GO111MODULE="auto"
如果没有开启请开启它。开启命令执行:
go env -w GO111MODULE=on
#设置 使用七牛云下载
go env -w GOPROXY=https://goproxy.cn direct
来看下现在的配置:
root@ubuntu:~/myGoProjectNew# go env
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/hcy/.cache/go-build"
GOENV="/home/hcy/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn direct"
GOROOT="/home/hcy/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/hcy/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g "
CGO_ENABLED="1"
GOMOD="/home/hcy/myGoProjectNew/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3990583068=/tmp/go-build -gno-record-gcc-switches"
二、创建项目
上边都说了如何开启了。下面介绍下如何使用
1. 可以随便找一个目录创建项目:myGoProjectNew
mkdir myGoProjectNew
cd myGoProjectNew
go mod init myGoProjectNew
这个时候查看目录下会多出一个go.mod的文件:
里面也有了。标识了下SDK的版本1.18
2. 创建 main.go文件
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/ping" func(c *gin.Context) {
c.JSON(200 gin.H{
"message": "pong"
})
})
r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
3. 执行:
go mod tidy
这时候就会自动下载引用了。
查看Go.mod文件
module myGoProjectNew
go 1.18
require github.com/gin-gonic/gin v1.7.4
require github.com/go-ini/ini v1.66.4
require (
github.com/astaxie/beego v1.12.3
github.com/dgrijalva/jwt-go v3.2.0 incompatible
github.com/gin-contrib/cors v1.3.0
go.mongodb.org/mongo-driver v1.8.4
)
最后放两张效果图:
感觉还可以得点赞收藏哦。想要源码的私信我获取源码。