File tree 1 file changed +138
-0
lines changed
1 file changed +138
-0
lines changed Original file line number Diff line number Diff line change
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
+ 这篇文章只是一个简单示例,还有很多功能需要去探索。
You can’t perform that action at this time.
0 commit comments