访问:https://golang.org/dl/

下载 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

最新文章

  1. 格雷码原理与Verilog实现
  2. git之三
  3. 状压dp题目总结
  4. Mybatis中模糊查询的各种写法
  5. ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题[转]
  6. VTMagic 的使用介绍
  7. tomcat与resin的比较
  8. MVC定义路由
  9. TP的SDK的调用
  10. Java 实现二分(折半)插入排序
  11. 使用pillow生成分享图片
  12. L1和L2正则
  13. 机器视觉编程作业02(00)EM算法
  14. C++调用openssl实现DES加密解密cbc模式 zeropadding填充方式 pkcs5padding填充方式 pkcs7padding填充方式
  15. 接口自动化(atp,utp)
  16. MongoDB 无法创建抽象类的问题,
  17. Spring AOP实现原理-动态代理
  18. js中取小数整数部分函数;取小数部分
  19. Flask从入门到精通之Flask表单
  20. python装饰器内获取函数有用信息方法

热门文章

  1. 洛谷P3264 [JLOI2015]管道连接 (斯坦纳树)
  2. React组件:Dragact 0.1.4发布
  3. 解决nginx无法访问的问题
  4. ESP8266常见问题汇总——转载自官网
  5. 三元环HDU 6184
  6. Codevs 4829 [DP]数字三角形升级版
  7. HZOJ 20190727 随(倍增优化dp)
  8. [CSP-S模拟测试]:射手座之日(dsu on tree)
  9. linux内核中的数据结构
  10. Git客户端执行命令报错: fatal: Authentication failed for'xxxxx.git',但是又不弹出窗口重新输入用户名和密码的解决办法