Skip to content

Commit f3710bb

Browse files
author
zhangyongxin
committed
add Linux 下 Go 环境搭建以及 Gin 安装
1 parent 576953c commit f3710bb

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# Linux 下 Go 环境搭建以及 Gin 安装
2+
3+
https://golang.org/dl/ 下载 Go 安装包。
4+
5+
将安装包解压:
6+
```
7+
tar -C /usr/local -xzf go1.11.4.linux-amd64.tar.gz
8+
```
9+
10+
修改环境变量:
11+
```
12+
export PATH=$PATH:/usr/local/go/bin
13+
```
14+
15+
此时,Go 就已经安装好了,来验证一下:
16+
```
17+
[root@7a7120c97a4f go]# go version
18+
go version go1.11.4 linux/amd64
19+
```
20+
21+
接下来新建一个名为 test 的项目,目录结构如下:
22+
```
23+
test/
24+
|-- install.sh
25+
`-- src/
26+
```
27+
28+
`install.sh` 文件内容如下:
29+
```sh
30+
#!/usr/bin/env bash
31+
32+
if [ ! -f install.sh ]; then
33+
echo 'install must be run within its container folder' 1>&2
34+
exit 1
35+
fi
36+
37+
CURDIR=`pwd`
38+
OLDGOPATH="$GOPATH"
39+
export GOPATH="$CURDIR"
40+
41+
gofmt -w src
42+
go install test
43+
44+
export GOPATH="$OLDGOPATH"
45+
echo 'finished'
46+
```
47+
之所以加上 `install.sh`,而不配置 `GOPATH`,是为了避免新增一个 Go 项目就要往 `GOPATH` 中添加一个路径。这在我们平时练习或者测试,需要新建一个临时项目时很有用。
48+
49+
在 src 目录下新建两个程序,目录结构如下:
50+
```
51+
test/
52+
|-- install.sh
53+
`-- src/
54+
|-- config
55+
| `-- config.go
56+
`-- test
57+
`-- main.go
58+
```
59+
60+
程序内容分别是:
61+
```go
62+
// config.go
63+
64+
package config
65+
66+
func LoadConfig(){
67+
}
68+
```
69+
70+
```go
71+
// main.go
72+
73+
package main
74+
75+
import (
76+
"config"
77+
"fmt"
78+
)
79+
80+
func main(){
81+
config.LoadConfig()
82+
fmt.Println("Hello,GO!")
83+
}
84+
```
85+
86+
然后在项目根目录执行 `sh install.sh`,再看一下项目目录,变成如下结构:
87+
```
88+
test
89+
|-- bin
90+
| `-- test
91+
|-- install
92+
|-- pkg
93+
| `-- linux_amd64
94+
| `-- config.a
95+
`-- src
96+
|-- config
97+
| `-- config.go
98+
`-- test
99+
`-- main.go
100+
```
101+
其中 `config.a` 是包 config 编译后生成的;`bin/test` 是生成的可执行的二进制文件。
102+
103+
执行 `bin/test`,输出结果为 `Hello,GO!`
104+
105+
一般的开发测试流程都可以采用这样的方式,下面来安装 Gin 框架。
106+
107+
```
108+
go get -u github.com/gin-gonic/gin
109+
```
110+
111+
修改 `main.go` 如下:
112+
```go
113+
package main
114+
115+
import (
116+
"config"
117+
"fmt"
118+
119+
"github.com/gin-gonic/gin"
120+
)
121+
122+
func main(){
123+
config.LoadConfig()
124+
fmt.Println("Hello,GO1!")
125+
126+
r := gin.Default()
127+
r.GET("/ping", func(c *gin.Context) {
128+
c.JSON(200, gin.H{
129+
"message": "pong",
130+
})
131+
})
132+
r.Run() // listen and serve on 0.0.0.0:8080
133+
}
134+
135+
```
136+
简单快捷,只需要执行 `go run main.go`,然后在浏览器中就可以访问了,如果看到 `{"message":"pong"}`,就说明我们的 web 服务已经启动成功了。
137+
138+
这篇文章只是一个简单示例,还有很多功能需要去探索。

0 commit comments

Comments
 (0)