搭建Go語言開發環境-優化篇


在上篇搭建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 給予的幫助和他的文章

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM