ubuntu go 开发环境搭建
2024-10-02 20:12:30
下载 go1.12.4.linux-amd64.tar.gz
wget https://dl.google.com/go/go1.12.4.linux-amd64.tar.gz
sudo tar -zxvf go1.12.4.linux-amd64.tar.gz -C /opt
检查安装是否成功
cd /opt/go/bin
./go version
go version go1.12.4 linux/amd64
设置环境变量
vi /etc/profile
export GOROOT=/opt/go
export GOPATH=/home/ubuntu/go
export GOPROXY=https://goproxy.io
export GOARCH=amd64
export GOOS=linux
export GOTOOLS=$GOROOT/pkg/tool
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile
其中,GOPROXY 可以解决 golang.org/x/... 系列包无法下载的问题。
编写 HelloWorld 文件,测试运行环境。
package main
import "fmt"
func main(){
fmt.Println("hello,world!")
}
go run hello.go
go build hello.go
创建 go.mod 文件
go mod init hello
用 Gin 实现一个简单的 http 服务
import (
"gopkg.in/gin-gonic/gin.v1"
"net/http"
)
func main(){
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello World")
})
router.Run(":8000")
}
直接编译执行
go run hello
可以看到引用的包都被自动下载了
go: finding github.com/gin-contrib/sse latest
go: finding github.com/gin-gonic/gin/render latest
go: finding github.com/gin-gonic/gin/binding latest
go: finding github.com/gin-gonic/gin/json latest
go: finding golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
go: downloading golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
go: finding gopkg.in/go-playground/validator.v8 v8.18.2
go: finding github.com/ugorji/go/codec latest
go: finding github.com/golang/protobuf/proto latest
go: finding gopkg.in/yaml.v2 v2.2.2
go: downloading gopkg.in/go-playground/validator.v8 v8.18.2
go: downloading gopkg.in/yaml.v2 v2.2.2
go: finding github.com/ugorji/go v1.1.4
go: finding github.com/golang/protobuf v1.3.1
go: downloading github.com/ugorji/go v1.1.4
go: downloading github.com/golang/protobuf v1.3.1
go: extracting gopkg.in/go-playground/validator.v8 v8.18.2
go: extracting gopkg.in/yaml.v2 v2.2.2
go: extracting github.com/golang/protobuf v1.3.1
go: extracting github.com/ugorji/go v1.1.4
go: extracting golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
HTTP 服务启动正常,可以通过浏览器访问了。
[GIN-debug] [WARNING] Now Gin requires Go 1.6 or later and Go 1.7 will be required soon.
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET / --> main.main.func1 (3 handlers)
[GIN-debug] Listening and serving HTTP on :8000
最新文章
- 格雷码原理与Verilog实现
- git之三
- 状压dp题目总结
- Mybatis中模糊查询的各种写法
- ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题[转]
- VTMagic 的使用介绍
- tomcat与resin的比较
- MVC定义路由
- TP的SDK的调用
- Java 实现二分(折半)插入排序
- 使用pillow生成分享图片
- L1和L2正则
- 机器视觉编程作业02(00)EM算法
- C++调用openssl实现DES加密解密cbc模式 zeropadding填充方式 pkcs5padding填充方式 pkcs7padding填充方式
- 接口自动化(atp,utp)
- MongoDB 无法创建抽象类的问题,
- Spring AOP实现原理-动态代理
- js中取小数整数部分函数;取小数部分
- Flask从入门到精通之Flask表单
- python装饰器内获取函数有用信息方法
热门文章
- 洛谷P3264 [JLOI2015]管道连接 (斯坦纳树)
- React组件:Dragact 0.1.4发布
- 解决nginx无法访问的问题
- ESP8266常见问题汇总——转载自官网
- 三元环HDU 6184
- Codevs 4829 [DP]数字三角形升级版
- HZOJ 20190727 随(倍增优化dp)
- [CSP-S模拟测试]:射手座之日(dsu on tree)
- linux内核中的数据结构
- Git客户端执行命令报错: fatal: Authentication failed for'xxxxx.git',但是又不弹出窗口重新输入用户名和密码的解决办法