美文网首页
【初级入门】Go开发环境安装

【初级入门】Go开发环境安装

作者: 24c41111e47b | 来源:发表于2021-07-09 14:39 被阅读0次

Go 语言安装

直接去官网 下载对应版本,注意区分Mac arm架构 和 amd架构

环境变量设置:
$GROOT 表示Go在电脑上的安装位置,如:/usr/local/go/bin/go
$GOPATH 表示你的工作空间,且下面必须包含三个目录(src,pkg, bin),代码项目放在src下,如$HOME/dev

Go 语言环境卸载

出于某种原因需要删除Go环境,直接删除对应安装目录即可
查看安装目录:$ go env or echo $GOROOT
删除GOROOT安装目录即可

GoLand 安装

直接去官网下载对应工具,注意区分Mac arm架构 和 amd架构

破解:
激活方式 亲测好用
快速下载激活插件
破解方法:Goland试用 -> plugins安装 -> 从磁盘安装 -> 选择zip激活插件 -> 安装成功 -> 重起IDE -> Help -> Eval Reset -> auto reset

解决 Mac M1不能Debug问题

go语言环境和GoLand编辑器最新版已经支持了Debug,如果安装了最新版仍然不能debug, 请检查对应的Go语言环境是否和GoLand匹配
查看Go环境
$ go version

输出如下:

 go version go1.16.5 darwin/amd64

但是笔者这里安装的GoLand是Mac M1版本的,也就是arm架构,所以笔者debug不能使用,然后卸载 go语言环境,重新安装即可正常使用

arm版本输出如下:

go version go1.16.5 darwin/arm64
依赖管理

如果你是一个iOS开发,应该知道cocoapods,这里Go开发也有类似于cocoapods的依赖管理工具go mod,使用 go mod 方式开发,项目可以不用放在 GOPATH下面
快速开始:

  • 任意目录下创建项目
  • 项目根目录下执行 $ go mod init "github.com/gin-gonic/gin
  • 执行 $ go run main.go, 如果报错,执行 $ go get 获取依赖包

注意:国内访问资源需要进行镜像资源加速
官方:go env -w GOPROXY=https://goproxy.io,direct
详情见本文末尾链接

打包部署

打包部署即将源代码编译为目标机器可执行的文件,然后直接拷贝到目标机器,直接运行可执行文件即可。这里我们介绍两种方式,手动部署和自动部署的思路

  • 手动部署
    • 1.使用命令$unam -a查看目标机器架构类型:(386 or arm or amd64)
    • 2.编译为目标机器可执行文件 env GOOS=linux GOARCH=amd64 go build server.go
    • 3.使用命令将可执行文件拷贝到目标机器,如:scp ./server root@38.104.16.0:~/go
    • 4.在目标机器上直接运行可执行文件(注意监听端口:0.0.0.0)

. $GOOS 表示使用的目标机器操作系统,它的值一般是:darwin 、freebsd、linux 或 windows
$GOARCH 表示目标机器的处理器架构,它的值可以是 386 、amd64、arm

  • 自动部署
    这里只提供思路,笔者没有实际部署经验,不论哪种范式,原理都和手动打包一样,只不过换成了自动化方式.
    • 1.使用Jenkins构建对应分支代码,构建成功自动发布到对应机器
    • 2.使用Webhook方式,代码仓库配置webhook, 提交代码自动触发webhook,触发对应机器拉取代码编译运行
    • 3.使用Jenkins + 私有docker库的方式,Jenkins构建私有镜像,然后docker自动部署到目标机器

tips

1.consul 服务发现和服务配置工具,一般用于服务器守护进程,自动拉起死掉的服务等。

  1. gin 热门的Go语言服务框架
  2. 查看端口监听是否开启 $ netstat -anp | grep 8080
    4.查看防火墙 $ systemctl status iptables or $ systemctl status firewalld

资料收集

Golang HTML模版渲染基本语法
Go 国内镜像加速

相关文章

网友评论

      本文标题:【初级入门】Go开发环境安装

      本文链接:https://www.haomeiwen.com/subject/njkfpltx.html