Windows 10家庭中文版,go version go1.11 windows/amd64,
Eclipse IDE for C/C++ Developers Photon Release (4.8.0),
GoClipse 0.16.1(v201607061938),
緊接着上一篇博文,現在孤可以是使用Eclipse開發Go程序了:建立項目、建立源文件、編譯、運行、測試、調試……
本文介紹自己使用Eclipse運行第一個Go Project的過程以及其中踩到的坑。
建立項目

下面的 D:\eclipse-cdt\ws 為Eclipse的 工作空間——后來更改了,更改后,還需要配置一遍Window->Preferences->Go:

項目建立成功:

上圖的項目樹結構中,src初步理解為放源碼,bin存放編譯、運行、調試等產生的可執行文件(細節需dig),Build Targets很重要,涉及到后面的一個 坑 的調試。
建立源程序
這一步自己犯錯了——Go語言對項目的目錄結構是有一些規定的(看的一些網絡博文也有提到,還需dig),而自己把程序直接就放在了src目錄下:


在項目的src下生成了源文件 new_file.go:

修改為自己需要的測試程序:
package main
import (
"fmt"
)
func main() {
fmt.Println("Here I come!")
}
執行程序——遇到 問題(第一個) 了,執行不了:
Resource doesn't have a corresponding Go package.

后在Run Configurations中選擇Go Application運行時,出現下面的提示:


查看一些文章后,在src下新建pkg1,並將上面的源文件放入其中:

再次執行程序,第二個問題出現了——在項目所在bin目錄下沒有找到可執行文件:


經過查找,在Go安裝目錄的bin下面找到了可執行程序——pkg1.exe——可是,為什么呢?:

“誤打誤撞”打開了項目下的Build Targets,顯示了項目的 屬性對話框(Properties for go961):
發現其中的(Optional) Path of generated executable顯示為使用默認(Use default),可是,默認又是什么呢?

看過上面的內容后,自己並不知道如何解決問題!於是,試驗!
打開Run Configurations,“胡亂地”修改其中的配置,並運行程序(讀者可以略過這一部分,因為其中的一些配置是錯誤的):



由於前面自己發現項目編譯運行后產生的可執行文件跑到Go安裝目錄下的bin文件夾中了,於是,把Run Configurations里面的Path of launch executable取消Use default,並配置可執行程序的路徑為Go安裝目錄下的本項目可執行文件:

再次執行,Eclipse中運行程序成功,得到了預期結果!

可是,俺還是像可執行程序出現在項目的bin目錄下啊!為什么會這樣呢?查閱一些網絡資料(費時費力啊)后,“靈光一閃”!好像自己1周前安裝Go時,好像配置了一個環境變量GOBIN來着,是因為它引起的嗎?

刪除這個環境變量!!!
重新配置Run Configurations——恢復為選中使用Use default:

再次運行項目——成功!項目的bin目錄下出現了可執行程序pkg1.exe了!


好了,第一個Go程序就這么運行起來了!
180906 1806補充說明:
1.更換Eclipse的Workspace
在測試過程中,自己更換了一次Eclipse的工作目錄——Window->Preferences->Startup and Shutdown->Workspaces:
選中其中的Prompt for workspace on startup,重啟Eclipse即可更改工作目錄。
下圖顯示,更換工作目錄后,Eclipse存在兩個工作目錄了,最新的存在於最上方,也是下次啟動時的默認工作目錄。


2.Go項目導入
在更換工作目錄后,再次打開Eclipse,發現之前的項目go961不存在了——因為新的工作目錄下沒有這個項目。
自己知道Eclipse是有項目導入功能的,於是,執行項目導入(注意,導入前項目已被自己拷貝到新的工作目錄中):

導入項目出現錯誤:

導入項目沒有GOROOT、GOPATH:

Window->Preferences->Go中的各個工具為空:

解決方法:取消選擇gofmt下的User default location,在一個一個手動配置好。



然后打開Run Configurations查看運行配置,再執行:此時到導入項目的Go package to build為空,執行失敗!


修改Run Configurations配置,重新執行:成功!


3.設置項目默認編碼為UTF-8
默認為系統的GBK,修改為UTF-8:


鑒於后面的項目都可能是UTF-8編碼,因此,修改整個Eclipse的 工作目錄編碼為UTF-8:
Window->Preferences->General->Workspace

雖然做了全局的配置,但孤以為,還是應該在新建項目時 單獨配置其編碼為UTF-8——移植項目時就不會因為Eclipse的默認編碼不同而出錯了吧(猜的)!
4.建立第二個項目:成功!

--------分割線--------
可是,自己還存在不少疑問:
1.各個Go語言的環境變量有什么意義?
2.GOBIN會影響使用go命令安裝軟件嗎,比如gocode、guru等,孤發現之前安裝guru時,不光C:\Go\bin下面有guru.exe,在GOPATH下也存在一個guru.exe。

3.在新建Go源文件時,有三個選項,分別表示什么源文件呢?

在選擇源文件類型為Command Source File時,其下出現三個可選項,又分別代表什么意思呢?在哪些應用中可以用到?

5.Build Targets要怎么配置?Go項目的屬性又要怎么配置?
6.Run Configurations下的Build Command又需要怎么配置?
7.使用go.exe安裝了軟件,除了前面搭建開發環境需要的,還可以安裝哪些軟件?
8.GoClipse是2016年的,太過時了吧?Google官方用什么IDE進行Go開發呢?
9.Go語言的常見應用領域有哪些?怎么讓它發揮出更大的功效呢?
10.Go語言怎么會GitHub等配合使用?前面發現可以下載安裝GitHub上的程序,那么,上傳到自己的程序庫呢?
11.Go語言有哪些 標准庫?第三方庫?
……
問題很多,還需要更加深入才行啊!之前看到別人用Go語言寫Web服務器,感覺很牛啊!其它的Web開發都是借助於線程的Web服務器呢!
還有,Go語言的強項是什么?抓住其強項進行學習!之前學習Python,就沒有采用這種策略,結果,在爬蟲、Web開發上花了不少時間(幾個月),以至於現在對於使用Python進行大數據處理分析、人工智能等開發一片空白!所以,學習Go語言得換換策略才行!
前面看過菜鳥的Go語言教程了,目前不記得有什么特別困難的點了。
那么,接下來,了解Go語言的應用場景、補足基礎知識的缺失了!
還好可以訪問它的牆內官網了!否則自己又會向Android開發一樣放棄了吧!
