一起來(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的小白們,要明白的一點(diǎn)是無(wú)論是編程語(yǔ)言還是編程工具,他們都應(yīng)該是處于一個(gè)可切換的狀態(tài),并不是一門語(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)買正式版)
在此附上 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)指正!(還是提醒各位入門的同好們,工具無(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)文章
golang 實(shí)用庫(kù)gotable的具體使用
使用gotable框架以實(shí)現(xiàn)在CLI命令行界面中打印表格。本文就介紹一下golang 實(shí)用庫(kù)gotable的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07Go語(yǔ)言展現(xiàn)快速排序算法全過(guò)程的思路及代碼示例
這篇文章主要介紹了Go語(yǔ)言展現(xiàn)快速排序算法全過(guò)程的思路及代碼示例,文章最后作者還提到了對(duì)Quick Sort算法優(yōu)化的一些想法,需要的朋友可以參考下2016-04-04go語(yǔ)言版的ip2long函數(shù)實(shí)例
這篇文章主要介紹了go語(yǔ)言版的ip2long函數(shù),實(shí)例分析了Go語(yǔ)言實(shí)現(xiàn)的ip2long函數(shù)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02go?build失敗報(bào)方法undefined的解決過(guò)程
go build命令用于編譯我們指定的源碼文件或代碼包以及它們的依賴包,下面這篇文章主要給大家介紹了關(guān)于go?build失敗報(bào)方法undefined的解決過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Golang校驗(yàn)字符串是否JSON格式的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了Golang中校驗(yàn)字符串是否JSON格式的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-04-04Go語(yǔ)言學(xué)習(xí)之golang-jwt/jwt的教程分享
jwt是?json?web?token的簡(jiǎn)稱。go使用jwt目前,主流使用的jwt庫(kù)是golang-jwt/jwt。本文就來(lái)和大家講講golang-jwt/jwt的具體使用,需要的可以參考一下2023-01-01