一起來(lái)用GoLand開(kāi)發(fā)第一個(gè)Go程序
前言
不同的人對(duì)于開(kāi)發(fā)工具的習(xí)慣還是不一樣的,所以博主還是決定,簡(jiǎn)單出一份關(guān)于 GoLand 的使用教程,方便于在開(kāi)發(fā)過(guò)程中不同的開(kāi)發(fā)習(xí)慣。
但是在此還是希望如果是剛剛?cè)腴T(mén)的小白們,要明白的一點(diǎn)是無(wú)論是編程語(yǔ)言還是編程工具,他們都應(yīng)該是處于一個(gè)可切換的狀態(tài),并不是一門(mén)語(yǔ)言和一個(gè) IDE工具 就阻擋下你的腳步,加油!
1.關(guān)于GoLand的工具
GoLand 是一款由捷克軟件開(kāi)發(fā)公司 JetBrains 專為 Go 開(kāi)發(fā)的跨平臺(tái)的商業(yè) IDE。Goland 具有 Strong Code Insight、Navigation & Search、Run & Debug、Integration with VCSs、More than just a Go IDE 以及較強(qiáng)的 Extensibility,能夠幫助 Gopher 輕松愉悅方便快捷地 read 和 write Go code。
JetBrains 公司出品的 IDE,在業(yè)界有著良好的口碑,比如 CLion for C/C++、IntellijI IDEA for Java、PyCharm for Python、PhpStorm for PHP、WebStorm for JavaScript 等。Goland 一經(jīng)推出,受到了廣大 Gopher 的喜愛(ài)。(當(dāng)然因?yàn)槊舾械脑?,本教程并不教學(xué)如何破解軟件,請(qǐng)大家自行百度。也可以選擇使用VSCode,如有能力則可以購(gòu)買(mǎi)正式版)
在此附上 GoLand官方下載地址 點(diǎn)這里
1.1.安裝過(guò)程
- 沒(méi)有什么特別復(fù)雜的操作,基本點(diǎn)擊
下一步即可 - 可以根據(jù)自己的習(xí)慣將項(xiàng)目安裝在自己想要的目錄下,盡量不要出現(xiàn)
中文名文件夾路徑 - 根據(jù)自己的系統(tǒng)選擇安裝的型號(hào)如是64位系統(tǒng)在選項(xiàng)界面勾選
.64和.go即可
1.2.安裝完成
在安裝完成后(當(dāng)然你可以先免費(fèi)用一個(gè)月),就可以看到這樣的界面,就可以開(kāi)始準(zhǔn)備我們的 Go 之旅啦!

New Project: 表示新建一個(gè)項(xiàng)目
Open: 表示打開(kāi)一個(gè)項(xiàng)目
Get from VCS: 表示從版本管理器中打開(kāi)項(xiàng)目(SVN、Gitee、GitHub)
2.快速上手
2.1.創(chuàng)建項(xiàng)目
任何工具的第一步實(shí)際上都是要先學(xué)會(huì)如何創(chuàng)建一個(gè)項(xiàng)目,那么我們?cè)谑褂肎oLand也是一樣,從創(chuàng)建一個(gè)項(xiàng)目開(kāi)始。
選擇我們的 New Project ,那么我們就會(huì)看到如下界面

選擇 Go 項(xiàng)目,如果選擇帶有 GOPATH 標(biāo)記的則表示將項(xiàng)目默認(rèn)創(chuàng)建在你配置好的 GOPATH 空間下(不懂 GOPATH 可以回看博主之前的文章)
在 GoLand 中,一個(gè)項(xiàng)目就可以作為一個(gè)工作空間,所以選擇
Go則表示要將這個(gè)新建的項(xiàng)目作為一個(gè)獨(dú)立的工作空間進(jìn)行開(kāi)發(fā)
Location: 表示當(dāng)前項(xiàng)目的位置
GOROOT: 表示你GO環(huán)境的開(kāi)發(fā)包安裝位置,這個(gè)如果在環(huán)境變量已經(jīng)配置好的情況下會(huì)自動(dòng)幫你填寫(xiě),如果沒(méi)配置建議先配置好環(huán)境變量。
Environment: Go 的一些 mod 可能需要外網(wǎng)下載,因?yàn)橐恍┎豢擅枋龅脑蛭覀儫o(wú)法訪問(wèn),因此可以通過(guò)配置 GOPROXY 代理來(lái)改變代理成國(guó)內(nèi)的下載代理,這個(gè)可以暫時(shí)先不配置。(想配置 GOPROXY 可以查看 VSCode 配置篇)
項(xiàng)目創(chuàng)建成功的界面

2.2.創(chuàng)建 .go 程序文件
在對(duì)項(xiàng)目新建做完基礎(chǔ)講解后,我們可以開(kāi)始創(chuàng)建我們的新 .go 文件了
點(diǎn)擊我們的項(xiàng)目 右鍵->New->Go File 選擇創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用

創(chuàng)建 Simple application 會(huì)得到一個(gè)帶有簡(jiǎn)單 main 函數(shù)的文件,這是一個(gè)程序的入口
創(chuàng)建好的代碼內(nèi)容如下:

2.3.配置 mod 的開(kāi)啟與關(guān)閉
在我們的本地環(huán)境中我們可以通過(guò)指令來(lái)配置 go mod 模塊管理的開(kāi)啟與關(guān)閉,而在我們的 Goland 中我們也可以通過(guò)設(shè)置來(lái)改變 go mod 的啟用,我們?cè)谑褂?Goland 的時(shí)候可以開(kāi)啟 go mod
Preferences ->Go ->Go Modules 進(jìn)行設(shè)置,如下:

關(guān)于代理: 因我我們眾所周知一些原因,所以代理可以修改為國(guó)內(nèi),方便獲取資源,留下以下幾種資源地址
- 注意:代理修改完,重啟 GoLand 生效
- 阿里云
- https://mirrors.aliyun.com/goproxy/
- nexus 社區(qū)提供的
- https://gonexus.dev
- goproxy.io 的
- https://goproxy.io/
- 官方提供的
- https://proxy.golang.org
- 七牛云贊助支持的
- https://goproxy.cn
是否使用 go mod 的區(qū)別:
- 開(kāi)啟mod:go env -w GO111MODULE=on ,會(huì)將包下載到 gopath 下的 pkg 下的 mod 文件夾中
- 關(guān)閉mod:go env -w GO111MODULE=off ,會(huì)將包下載到 gopath 下的 src 下
- go env GO111MODULE=auto 只有當(dāng)前目錄在 GOPATH/src 目錄之外而且當(dāng)前目錄包含 go.mod 文件或者其子目錄包含 go.mod文件才會(huì)啟用
2.4.用 GoLand 寫(xiě)第一份代碼
在剛剛我們已經(jīng)新建了一個(gè)帶有 main 的 .go 文件,那么我們接下來(lái)就需要在 main() 中寫(xiě)下我們的第一份代碼, Goland 是相對(duì)比較智能的,很多基礎(chǔ)包不需要你去寫(xiě) import ,你只需要直接寫(xiě)你要的工具模塊,它就會(huì)自動(dòng)幫你導(dǎo)入相關(guān)的模塊。
因此你只需要在 main 中手動(dòng)輸入自己的第一份代碼,即可!
fmt.Println("Hello Let's GO!") // 在終端打印
// 輸入相關(guān)代碼后Goland就會(huì)自動(dòng)幫你導(dǎo)入`fmt`
點(diǎn)擊運(yùn)行按鈕(在右上角有一個(gè)綠色的??)

得到運(yùn)行結(jié)果

2.5.代碼靜態(tài)檢測(cè)(此部分非必要)
我們之前有說(shuō)過(guò),Go 語(yǔ)言對(duì)于代碼的檢測(cè)和格式是有自己官方的統(tǒng)一規(guī)范和自動(dòng)化的,所以就減少了出現(xiàn)不同程序不同的代碼風(fēng)格導(dǎo)致相互之間可閱讀性降低的問(wèn)題。
使用 GoLand 編寫(xiě) Go 代碼時(shí),可以配合 gofmt + goimports + golangci-lint 在保存時(shí)完成對(duì)代碼的格式化和質(zhì)量檢測(cè)。
開(kāi)啟 go fmt: 在每次保存代碼文件時(shí)自動(dòng)格式化代碼。
File > Settings > Tools > File Watchers > + > go fmt

開(kāi)啟 goimports 在每次保存代碼時(shí)自動(dòng)添加缺失的和刪除未引用的包。
File > Settings > Tools > File Watchers > + > goimports
如果遇到 tools 工具沒(méi)安裝, Goland 則會(huì)提醒你安裝

如果安裝失敗,則可能是國(guó)內(nèi)代理的原因,請(qǐng)修改代理(這里不再重復(fù)贅述,可參考前一篇文章內(nèi)容)
**開(kāi)啟 golandci-lint: ** 開(kāi)啟 golangci-lint 可以對(duì)代碼進(jìn)行靜態(tài)檢查,比如報(bào)告函數(shù)行數(shù)超標(biāo)、文件行數(shù)超標(biāo)等來(lái)幫助規(guī)范代碼
File > Settings > Tools > File Watchers > + > golangci-lint

至此,工具安裝完成!
3.GoLand常用快捷鍵
文件相關(guān)快捷鍵:
- CTRL + E: 打開(kāi)最近瀏覽過(guò)的文件
- CTRL + SHIFT + E: 打開(kāi)最近修改的文件
- CTRL + N: 可以快速打開(kāi)struct結(jié)構(gòu)體
- CTRL + SHIFT + N: 可以快速打開(kāi)文件
代碼格式化
- CTRL + ALT + T: 可以把代碼包在一個(gè)快哪,例如 if {…} else {…}
- CTRL + ALT + L: 格式化代碼
- CTRL + SPACE: 代碼提示
- CTRL + /: 單行注釋。CTRL+SHIFT+/:多行注釋
- CTRL + B: 快速打開(kāi)光標(biāo)處的結(jié)構(gòu)體或者方法
- CTRL + " + / - ": 可以將當(dāng)前方法進(jìn)行展開(kāi)或折疊
查找和定位
- CTRL + R:替換文本
- CTRL + F:查找文本
- CTRL + SHIFT + F:進(jìn)行全局查找
- CTRL + G: 快速定位到某行
代碼常用
- ALT + Q: 可以看到當(dāng)前方法的聲明。
- SHIFT + ENTER: 可以向下插入新行。即使光標(biāo)在當(dāng)前行的中間
- CTRL + Backspace: 按單詞進(jìn)行刪除或刪除光標(biāo)所在行
- CTRL + X剪切當(dāng)前光標(biāo)所在行
- CTRL + D:復(fù)制當(dāng)前光標(biāo)所在行。
- ALT + SHIFT+UP/DOWN:可以將光標(biāo)所在行的代碼上下移動(dòng)。
- CTRL + SHIFT+U:可以將選中內(nèi)容進(jìn)行大小寫(xiě)轉(zhuǎn)化。
寫(xiě)在最后
? 本文主要是教學(xué)基本的 GoLand 使用,以及如何使用該工具開(kāi)發(fā)第一個(gè)Go程序,以上為個(gè)人分享,如有問(wèn)題請(qǐng)指正!(還是提醒各位入門(mén)的同好們,工具無(wú)論是GoLand或是VSCode并沒(méi)有絕對(duì)的高下之分)
到此這篇關(guān)于用GoLand開(kāi)發(fā)第一個(gè)Go程序的文章就介紹到這了,更多相關(guān)GoLand開(kāi)發(fā)Go程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go使用XORM操作MySQL的陷阱盤(pán)點(diǎn)分析
在?Go?語(yǔ)言開(kāi)發(fā)中,大家為了方便,通常會(huì)選擇使用?ORM?操作數(shù)據(jù)庫(kù),比如使用?XORM?或?GORM?操作?MySQL,本文我們來(lái)介紹一下使用?XORM[3]?操作?MySQL?可能會(huì)遇到的陷阱2023-11-11
go語(yǔ)言中切片與內(nèi)存復(fù)制 memcpy 的實(shí)現(xiàn)操作
這篇文章主要介紹了go語(yǔ)言中切片與內(nèi)存復(fù)制 memcpy 的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
go語(yǔ)言接口的定義和實(shí)現(xiàn)簡(jiǎn)單分享
這篇文章主要介紹了go語(yǔ)言接口的定義和實(shí)現(xiàn)簡(jiǎn)單分享的相關(guān)資料,需要的朋友可以參考下2023-08-08
go浮點(diǎn)數(shù)轉(zhuǎn)字符串保留小數(shù)點(diǎn)后N位的完美解決方法
這篇文章主要介紹了go浮點(diǎn)數(shù)轉(zhuǎn)字符串保留小數(shù)點(diǎn)后N位解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
基于微服務(wù)框架go-micro開(kāi)發(fā)gRPC應(yīng)用程序
這篇文章介紹了基于微服務(wù)框架go-micro開(kāi)發(fā)gRPC應(yīng)用程序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
基于gin的golang web開(kāi)發(fā):路由示例詳解
這篇文章主要介紹了基于gin的golang web開(kāi)發(fā):路由示例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10

