我总结的Mac下搭建go开发环境 - Go语言中文社区

我总结的Mac下搭建go开发环境


安装和配置

一般去官网http://golang.org下载安装包,双击安装。但是国内访问有可能被墙,所以如果无法访问网页,建议去百度网盘下载镜像,地址:https://pan.baidu.com/s/1lu4Y_LB_vplz-RaAu1iv3Q
这里下载1.9.2版本:
下载对应版本
下载后直接双击.pkg 结尾的安装包来完成安装,默认的安装目录是 /usr/local/go:
go安装目录
验证一下安装是否成功,打开终端执行:

go version

查看go版本
出现版本信息,说明安装成功。接下来配置工作目录和环境变量,新建一个gowork目录,用来存放go项目工程,并在里面创建bin,pkg和src三个子文件夹:
工作目录
然后设置对应的环境变量,编辑~/.bash_profile文件,输入如下内容:
输入环境变量
注意GOPATH路径一定要与刚创建的gowork路径对应,保存后记得使文件生效:

source ~/.bash_profile

为了保险起见,查一下PATH变量的值:
PATH变量的值
确认都正确了,下面来安装开发用的ide,这里使用JetBrains Goland mac版本,下载地址:https://www.jetbrains.com/go/download/#section=mac
下载页面
下载后双击goland-2018.3.3.dmg文件:
在这里插入图片描述
如图所示,将左侧GO图标拖进右侧的Applications文件夹中,等待安装完成后就可以关闭这个窗口了。在启动台会看到Goland启动图标:
GO启动图标
安装完成后启动程序,第一次打开会弹出设置界面,选择不导入设置,点击OK 如下图:
不需要导入配置
由于我们下载的是30天试用版,打开后需要激活一下,否则过期就不能使用了。激活方式选择激活码,使用的激活码跟IntelliJ IDEA通用,可参加这篇博文的激活码:https://blog.csdn.net/zhw0596/article/details/81394870
选择激活方式
激活后就可以正常使用了:
程序正常界面
点击右下角的Configure里面的Preferences进行GOROOT和GOPATH变量配置:
GOROOT配置
GOPATH配置
配置好后就可以继续go项目开发了

测试项目

安装好开发环境,接下来就可以使用JetBrains Goland创建项目了,刚开始接触Go Web开发,还是用一些开源的框架比较好,像Gin,Beego之类的都很有名。这里就用Gin测试一下吧。直接从GitHub上下载源码即可:
官方地址:
https://github.com/gin-gonic/gin
下载后解压到我们工作路径src的github.com目录下:
gin目录
这里一定要注意路径哟,要不一会新建项目时会找不到对应的gin包。解压放好后打开JetBrains Goland,新建一个Project,输入项目名称:
项目名称
然后新建一个main.go文件,输入如下内容:
main代码
里面代码很简单,但是用到了router包,因此在router目录下新建router.go文件,输入代码:

package router

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

func Init() {
	// Creates a default gin router
	r := gin.Default()  // Grouping routes

	// group: api
	api := r.Group("/api")
	{
		api.GET("/login", func(c *gin.Context) {
			c.JSON(200, gin.H{
				"message": "成功",
				"data": "测试数据",
			})
		})
	}

	r.LoadHTMLGlob("templates/*")
	// group: home
	home := r.Group("/home")
	{
		home.GET("/index", func(c *gin.Context) {
			c.HTML(http.StatusOK, "index.html", gin.H{      "title": "hello Gin.",
			})
		})
	}

	// 404 NotFound
	r.NoRoute(func(c *gin.Context) {
		c.JSON(http.StatusNotFound, gin.H{
			"status": 404,
			"error": "404, page not exists!",
		})
	})

	r.Run(":8443") // listen and serve on 0.0.0.0:8443
}

变量r是默认的路由,从它派生出两个子路由api和home,api是用来处理前端跨域访问的,前端代码见我的博文 Spring Boot+Vue项目学习总结 https://blog.csdn.net/xinxin_2011/article/details/86742160
home路由是这里直接测试gin是否成功的,下面还有个NoRoute是针对访问错误的地址给出404提示的,最后启动服务监听8443端口。其中home路由用到了templates的index.html文件,因此还得在templates目录下新建index.html模版文件:
index.html内容
模版文件的内容很简单,只供测试使用。最终项目的文件结构如下:
项目整体结构
下面编译运行项目:
编译运行
由于gin需要依赖一些其他的GitHub项目,所以编译时会联网下载依赖包,如果网络不好,可能会报错。如果未联网,手动把报错的包添加到src目录下也是可以的,依赖如下一些包:
依赖的包
这些包在GitHub上都是可以找到的,注意一点,gin程序中导入gopkg.in包时没有前面的github.com路径,所以不要放在github.com目录下。gopkg.in下的目录具体怎么命名,可以参考博文 https://blog.csdn.net/zizhilianqiu/article/details/84843502
一切准备妥当后,项目应该能够运行起来了:
编译通过
看到那句“Listening and serving HTTP on :8443”说明服务器正常启动了,打开浏览器输入网址“http://localhost:8443/home/index ”测试一下:
访问home页
再测试一下登录地址:
访问登录页
访问都正常了,但是这个登录页还只限于直接测试,通过前端vue跨域访问还是不行的,这个将在下一篇“vue跨域访问分析”中再讲如何实现,先到这里吧,洗洗睡了。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xinxin_2011/article/details/87206538
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-26 23:06:56
  • 阅读 ( 1780 )
  • 分类:Go环境配置

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢