安装和配置
一般去官网http://golang.org下载安装包,双击安装。但是国内访问有可能被墙,所以如果无法访问网页,建议去百度网盘下载镜像,地址:https://sigusoft.com/s/1lu4Y_LB_vplz-RaAu1iv3Q
这里下载1.9.2版本:
下载后直接双击.pkg 结尾的安装包来完成安装,默认的安装目录是 /usr/local/go:
验证一下安装是否成功,打开终端执行:
go version
出现版本信息,说明安装成功。接下来配置工作目录和环境变量,新建一个gowork目录,用来存放go项目工程,并在里面创建bin,pkg和src三个子文件夹:
然后设置对应的环境变量,编辑~/.bash_profile文件,输入如下内容:
注意GOPATH路径一定要与刚创建的gowork路径对应,保存后记得使文件生效:
source ~/.bash_profile
为了保险起见,查一下PATH变量的值:
确认都正确了,下面来安装开发用的ide,这里使用JetBrains Goland mac版本,下载地址:https://www.jetbrains.com/go/download/#section=mac
下载后双击goland-2018.3.3.dmg文件:
如图所示,将左侧GO图标拖进右侧的Applications文件夹中,等待安装完成后就可以关闭这个窗口了。在启动台会看到Goland启动图标:
安装完成后启动程序,第一次打开会弹出设置界面,选择不导入设置,OK 如下图:
由于我们下载的是30天试用版,打开后需要激活一下,否则过期就不能使用了。激活方式选择激活码,使用的激活码跟IntelliJ IDEA通用,可参加这篇博文的激活码:我总结的Mac下搭建go开发环境
激活后就可以正常使用了:
右下角的Configure里面的Preferences进行GOROOT和GOPATH变量配置:
配置好后就可以继续go项目开发了
测试项目
安装好开发环境,接下来就可以使用JetBrains Goland创建项目了,刚开始接触Go Web开发,还是用一些开源的框架比较好,像Gin,Beego之类的都很有名。这里就用Gin测试一下吧。直接从GitHub上下载源码即可:
官方地址:https://github.com/gin-gonic/gin
下载后解压到我们工作路径src的github.com目录下:
这里一定要注意路径哟,要不一会新建项目时会找不到对应的gin包。解压放好后打开JetBrains Goland,新建一个Project,输入项目名称:
然后新建一个main.go文件,输入如下内容:
里面代码很简单,但是用到了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项目学习总结 我总结的Mac下搭建go开发环境
home路由是这里直接测试gin是否成功的,下面还有个NoRoute是针对访问错误的地址给出404提示的,最后启动服务监听8443端口。其中home路由用到了templates的index.html文件,因此还得在templates目录下新建index.html模版文件:
模版文件的内容很简单,只供测试使用。最终项目的文件结构如下:
下面编译运行项目:
由于gin需要依赖一些其他的GitHub项目,所以编译时会联网下载依赖包,如果网络不好,可能会报错。如果未联网,手动把报错的包添加到src目录下也是可以的,依赖如下一些包:
这些包在GitHub上都是可以找到的,注意一点,gin程序中导入gopkg.in包时没有前面的github.com路径,所以不要放在github.com目录下。gopkg.in下的目录具体怎么命名,可以参考博文 我总结的Mac下搭建go开发环境
一切准备妥当后,项目应该能够运行起来了:
看到那句“Listening and serving HTTP on :8443”说明服务器正常启动了,打开浏览器输入网址“http://localhost:8443/home/index ”测试一下:
再测试一下登录地址:
访问都正常了,但是这个登录页还只限于直接测试,通过前端vue跨域访问还是不行的,这个将在下一篇“vue跨域访问分析”中再讲如何实现,先到这里吧,洗洗睡了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/goland/1518.html