搭建Go语言开发环境-优化篇

it2022-05-15  78

在上篇搭建Go语言开发环境-基础篇中提到的Go环境变量设置准备在这篇文章中进行一下优化已增加开发效率

之前的环境变量

export GOROOT=$HOME/go export GOBIN=$GOROOT/bin export GOARCH=amd64 export GOOS=linux export PATH=$GOBIN:$PATH export GOPATH=$HOME/goprograms

修改后的环境变量~/.bashrc文件变成了如下这样:

export GOROOT=$HOME/go export PATH=$GOROOT/bin:$PATH

为什么要删除GOBIN GOARCH GOOS呢??

因为系统默认都已经设置好这些变量了,不再需要配置了,除非要在linux下面编译出windows下的可执行文件才需要配置这些变量,我们同样也删除了GOPATH变量,这样Go就不能正常工作了,我们不在这里配置GOPATH的原因主要是避免每次建立新项目都要去改这个参数而是通过make文件的形式来变相满足Go环境的需求,新增加的make文件内容如下:

#!/usr/bin/env bash if [ ! -f make ]; then echo 'make must be run within its container folder' 1>&2 exit 1 fi CURDIR=`pwd` OLDGOPATH="$GOPATH" export GOPATH="$CURDIR" gofmt -tabs=false -tabwidth=4 -w src go install test export GOPATH="$OLDGOPATH" echo 'finished'

运行这个make文件时,其实就是通过脚本的形式去动态改变GOPATH来编译程序,还有一点要注意的就是当运行go install test时Go编译器会去$GOPATH/src/test寻找main文件,运行成功后会生成bin、pkg文件夹,bin文件夹里面包含可执行文件test,如果之前设置了$GOBIN变量的话这个test可执行文件会被生成在$GOBIN所定义的目录下,我们按照下图所示建立一个测试项目,试一下这个make文件

在src/config下建立config.go文件:

package config func LoadConfig() { }

在src/test下建立main.go文件

package main import ( "config" "fmt" ) func main() { config.LoadConfig() fmt.Println("Hello, GO!") }

我们现在运行 ./make 会得到如下目录结构

这时可以看到在bin下面已经生成test文件了,大功告成,以后如果新增加项目也只需把这个make文件复制过去改一下GOPATH路径就ok了,不用每次都修改~/.bashrc了

 

特别感谢 @polaris 给予的帮助和他的文章

 

转载于:https://www.cnblogs.com/ztiandan/archive/2012/12/08/2808856.html

相关资源:在Mac中搭建go语言开发环境的操作步骤

最新回复(0)