欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows系統(tǒng)中搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境圖文詳解

 更新時(shí)間:2022年10月24日 16:39:42   作者:dvlinker  
GoLand?是?JetBrains?公司推出的商業(yè)?Go?語(yǔ)言集成開(kāi)發(fā)環(huán)境(IDE),這篇文章主要介紹了Windows系統(tǒng)中搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境詳解,需要的朋友可以參考下

本文詳細(xì)講述如何在 Windows 系統(tǒng)上搭建 Go語(yǔ)言的開(kāi)發(fā)環(huán)境,以供借鑒或參考。文章將介紹Go語(yǔ)言的VSCode、GoLand、Vim三種開(kāi)發(fā)環(huán)境,大家可以靈活選擇。

1、Go語(yǔ)言簡(jiǎn)介

       Go語(yǔ)言(又稱(chēng)Golang),起源于2007年,并在2009年由Google正式對(duì)外發(fā)布。Go語(yǔ)言是一種靜態(tài)強(qiáng)類(lèi)型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語(yǔ)言,它的主要目標(biāo)是“兼具 Python 等動(dòng)態(tài)語(yǔ)言的開(kāi)發(fā)速度和 C/C++ 等編譯型語(yǔ)言的性能與安全性”。Go語(yǔ)言目前可以達(dá)到C/C++ 80%的運(yùn)行性能,其編譯速度遠(yuǎn)快于Java和C/C++。

與C++相比,Go并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能,但增加了 切片(Slice) 型、并發(fā)、管道、垃圾回收、接口(Interface)等特性的語(yǔ)言級(jí)支持。Go 2.0版本將支持泛型,對(duì)于斷言的存在,則持負(fù)面態(tài)度,同時(shí)也為自己不提供類(lèi)型繼承來(lái)辯護(hù)。

       Go語(yǔ)言是編程語(yǔ)言設(shè)計(jì)的又一次嘗試,是對(duì)類(lèi)C語(yǔ)言的重大改進(jìn),它不但能讓你訪問(wèn)底層操作系統(tǒng),還提供了強(qiáng)大的網(wǎng)絡(luò)編程和并發(fā)編程支持。Go語(yǔ)言的用途眾多,可以進(jìn)行網(wǎng)絡(luò)編程、系統(tǒng)編程、并發(fā)編程、分布式編程。

       GO語(yǔ)言有如下特性:

  • 靜態(tài)編譯
  • 垃圾回收
  • 簡(jiǎn)潔的符號(hào)和語(yǔ)法
  • 平坦的類(lèi)型系統(tǒng)
  • 基于CSP的并發(fā)模型。
  • 高效簡(jiǎn)單的工具鏈。
  • 豐富的標(biāo)準(zhǔn)庫(kù)

       Go語(yǔ)言的推出,旨在不損失應(yīng)用程序性能的情況下降低代碼的復(fù)雜性,具有“部署簡(jiǎn)單、并發(fā)性好、語(yǔ)言設(shè)計(jì)良好、執(zhí)行性能好”等優(yōu)勢(shì),目前國(guó)內(nèi)諸多 IT 公司均已采用Go語(yǔ)言開(kāi)發(fā)項(xiàng)目,特別是在大型互聯(lián)網(wǎng)公司有著廣泛的應(yīng)用。

       很多重要的開(kāi)源項(xiàng)目都是使用Go語(yǔ)言開(kāi)發(fā)的:

1)Docker:火熱的容?化技術(shù)
2)Kubernetes:Goole Borg 的開(kāi)源實(shí)現(xiàn)
3)LXD:另一個(gè)容?化技術(shù),其定位是系統(tǒng)容?,直接對(duì)標(biāo)虛擬機(jī)。
4)Etcd:類(lèi)似 zookeeper 的高可用 key-value 存儲(chǔ)
5)TIDB:國(guó)人開(kāi)發(fā)的 Goole spanner 的開(kāi)源實(shí)現(xiàn)。定位于在線事務(wù)處理/在線分析處理( HTAP: Hybrid Transactional/Analytical Processing)的融合型數(shù)據(jù)庫(kù)產(chǎn)品,實(shí)現(xiàn)了一鍵水平伸縮,強(qiáng)一致性的多副本數(shù)據(jù)安全,分布式事務(wù),實(shí)時(shí)OLAP 等重要特性。同時(shí)兼容 MySQL 協(xié)議和生態(tài),遷移便捷,運(yùn)維成本極低。

2、安裝Git

       Go語(yǔ)言開(kāi)發(fā)過(guò)程中用到的第三方包,需要使用 git 下載,因此 git 是必不可少的。下載地址為:https://gitforwindows.org。

       假設(shè)安裝路徑為 C:\Program Files\Git,需要將以下路徑添加到環(huán)境變量 PATH:

C:\Program Files\Git\bin
C:\Program Files\Git\cmd 

        這個(gè)地方初學(xué)者需要注意一下,Git默認(rèn)是采用命令行手動(dòng)輸入命令去操作的。還可以像SVN那樣通過(guò)UI界面去做操作,只要下載TortoiseGit就好了。

3、Go 工具鏈(編譯?)安裝

       先到GO語(yǔ)言官網(wǎng) Downloads - The Go Programming Language 下載最新版本的GO語(yǔ)言安裝包,雙擊按照向?qū)瓿砂惭b:

      Golang開(kāi)發(fā)環(huán)境涉及到幾個(gè)環(huán)境變量,比較重要的是:GOROOT,GOPATH。使用go env命令就可以查看 Go 的環(huán)境變量,不帶參數(shù)打印所有環(huán)境變量:

λ go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\zhuyadong\AppData\Local\go‐build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\zhuyadong\go
set GOPROXY=https://goproxy.io
set GORACE=
set GOROOT=D:\Program\Go
set GOTMPDIR=
set GOTOOLDIR=D:\Program\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=‐g ‐O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=‐g ‐O2
set CGO_FFLAGS=‐g ‐O2
set CGO_LDFLAGS=‐g ‐O2
set PKG_CONFIG=pkg‐config
set GOGCCFLAGS=‐m64 ‐mthreads ‐fmessage‐length=0 ‐fdebug‐prefix‐map=C:\Temp

3.1、環(huán)境變量GOROOT

       GOROOT其實(shí)就是Golang的安裝目錄。新版本的GOROOT已經(jīng)不需要設(shè)置了。Golang編譯器安裝后,會(huì)自動(dòng)把%GOROOT%\bin目錄添加到環(huán)境變量PATH。

        如下所示,這是我電腦上安裝完 Golang 后,在命令行中輸出的Go版本:

λ go version
2 go version go1.19.2 windows/amd64

3.2、環(huán)境變量GOPATH

       可以把GOPATH指向的目錄,理解為工作目錄,其作用是告訴Go命令和其它相關(guān)工具,在哪里找系統(tǒng)上安裝的Go包。

       GOPATH可以指向多個(gè)路徑,與其它環(huán)境變量的設(shè)置一樣,用相同的分割符分割。windiows 系統(tǒng)分割符是 ; ,linux 系統(tǒng)分割符是 : 。

       默認(rèn)的GOPATH是%USERPROFILE%\go\bin。在沒(méi)有Go Modules之前,通常都需要修改GOPATH的值。GOPATH 的目錄結(jié)構(gòu),是約定好的,不可修改:

GOPATH
├─bin 存放安裝的第三方工具
├─pkg 存放編譯的第三方庫(kù)
└─src 源碼目錄
├─demo 這是你自已的項(xiàng)目源代碼,每個(gè)項(xiàng)目一個(gè)目錄
└─github.com 這是從 github.com 下載的第三庫(kù)、工具的源代碼

3.3、Go常用命令

       go build 在源代碼目錄執(zhí)行該命令,編譯該目錄下的源代碼,生成可執(zhí)行程序或庫(kù)。

       go install 除了編譯,還進(jìn)行安裝(將生成的結(jié)果拷貝到指定目錄)??蓤?zhí)行程序拷貝到 %GOPATH%\bin,庫(kù)拷貝到 %GOPATH%\pkg。

       go get 從遠(yuǎn)程倉(cāng)庫(kù)獲取代碼,同時(shí)進(jìn)行編譯和安裝。 

4、包管理

       由于國(guó)內(nèi)眾所周知的網(wǎng)絡(luò)原因,不能直接訪問(wèn) golang 的官方網(wǎng)站,由此導(dǎo)致不能自動(dòng)安裝依賴(lài)項(xiàng),這也是搭建 Go 開(kāi)發(fā)環(huán)境最麻煩的地方。為解決網(wǎng)絡(luò)問(wèn)題,有以下幾種方法:

1)方法1:找一個(gè)可用的 VPN。
2)方法2:安裝失敗后,查看日志,到 github.com 上查找對(duì)應(yīng)的庫(kù),下載到本機(jī)的對(duì)應(yīng)位置,再執(zhí)行 go install 進(jìn)行安裝。
3)方法3:使用 gopm 包管理工具,后面詳解。
4)方法4:?jiǎn)⒂?Go Modules,并設(shè)置 GOPROXY 使用代理。

這里提供手動(dòng)安裝依賴(lài)的方法,只需要安裝一次,其它各種開(kāi)發(fā)環(huán)境都可以共享使用。

4.1、go module

       自從 Go 官方推出 v1.11 之后,增加新的依賴(lài)管理模塊并且更加易于管理項(xiàng)目中所需要的模塊。模塊是存儲(chǔ)在文件樹(shù)中的 Go 包的集合,其根目錄中包含 go.mod 文件。 go.mod 文件定義了模塊的路徑,它也是用于根目錄的導(dǎo)入路徑,以及它的依賴(lài)性要求。每個(gè)依賴(lài)性要求都被寫(xiě)為模塊路徑和特定語(yǔ)義版本。

       從 Go 1.11 開(kāi)始,Go 允許在 $GOPATH/src 外的任何目錄下使用 go.mod 創(chuàng)建項(xiàng)目。在 $GOPATH/src 中,為了兼容性,Go 命令仍然在舊的 GOPATH 模式下運(yùn)行。當(dāng) module 功能啟用時(shí), GOPATH 在項(xiàng)目構(gòu)建過(guò)程中不再擔(dān)當(dāng) import 的角色,但它仍然存儲(chǔ)下載的依賴(lài)包,具體位置在 $GOPATH/pkg/mod 。

        為了保持與兼容,環(huán)境變量如下設(shè)置:

GOROOT : 不需要設(shè)置,設(shè)置了也沒(méi)關(guān)系GOPATH : 保持默認(rèn)。設(shè)置其它目錄也可以,但 項(xiàng)目代碼 不能放在%GOPATH%\src 目錄下,否則 go module 需要明確啟用GO111MODULE : 保持默認(rèn)。GOPROXY : 值為 https://goproxy.io 。設(shè)置代理,啟用模塊后,用于下載需要翻墻才能訪問(wèn)的包。其它可用的代理網(wǎng)址:

       https://goproxy.io
       https://athens.azurefd.net
       https://goproxy.cn
       https://gocenter.io

       Go官方推出官方模塊代理是 https://proxy.golang.org (被墻狀態(tài));github上的鏡像倉(cāng)庫(kù):https://github.com/goproxyio/goproxy 。

       這樣設(shè)置的好處是,當(dāng)項(xiàng)目源代碼在 %GOPATH%\src 目錄下時(shí),使用舊版本的模式查
找第三方工具、包;當(dāng)項(xiàng)目源代碼不在 %GOPATH%\src 目錄下,并且其父路徑上的任
何一個(gè)目錄有 go.mod 文件,就自動(dòng)啟用 go module。

       GO111MODULE 有以下幾種值:

off:go 命令行將不會(huì)支持 module 功能,尋找依賴(lài)包的方式將會(huì)沿用舊版本那種通過(guò) vendor 目錄或者 GOPATH 模式來(lái)查找。on:go命令行會(huì)使用 modules,而一點(diǎn)也不會(huì)去 GOPATH 目錄下查找。auto:默認(rèn)值,go 命令行將會(huì)根據(jù)當(dāng)前目錄來(lái)決定是否啟用 module 功能。這種情況下可以分為兩種情形:當(dāng)前目錄在 GOPATH/src 之外,且該目錄包含go.mod 文件,或者該目錄是包含 go.mod 文件的目錄的子目錄。

打開(kāi)命令行,保證當(dāng)前目錄不是 %GOPATH% 及其子目錄,執(zhí)行 go get 即可正常安裝第三方工具包。

4.2、gopm

       gopm 是 Go 的一個(gè)包管理工具,有如下特性:

無(wú)需 Git 和 Hg 等版本管理工具,就可以下載指定版本的 Go 語(yǔ)言包可以解決翻墻問(wèn)題,在國(guó)內(nèi)有加速效果只能下載依賴(lài)的包的源碼,不能編譯安裝

官方網(wǎng)址:https://gopm.io
安裝方法: go get ‐u github.com/gpmgo/gopm

       gopm基本用法:

# 查看當(dāng)前工程依賴(lài)
gopm list
# 顯示依賴(lài)詳細(xì)信息
gopm list ‐v
# 列出文件依賴(lài)
gopm list ‐t [file]
# 拉取依賴(lài)到緩存目錄
gopm get ‐r xxx
# 僅下載當(dāng)前指定的包
gopm get ‐d xxx
# 拉取依賴(lài)到 $GOPATH
gopm get ‐g xxx
# 檢查更新所有包
gopm get ‐u xxx
# 拉取到當(dāng)前所在目錄
gopm get ‐l xxx
# 運(yùn)行當(dāng)前目錄程序
gopm run
# 生成當(dāng)前工程的 gopmfile 文件用于包管理
gopm gen ‐v
# 根據(jù)當(dāng)前項(xiàng)目 gopmfile 鏈接依賴(lài)并執(zhí)行 go install
gopm install ‐v
# 更新當(dāng)前依賴(lài)
gopm update ‐v
# 清理臨時(shí)文件
gopm clean
# 編譯到當(dāng)前目錄
gopm bin

5、編寫(xiě)Go語(yǔ)言代碼的IDE或編輯工具

5.1、基于VSCode的Go開(kāi)發(fā)環(huán)境

5.1.1、安裝VSCode

       VSCode 全稱(chēng)是 Visual Studio Code,是微軟開(kāi)發(fā)的免費(fèi)開(kāi)源的現(xiàn)代化輕現(xiàn)級(jí)代碼編輯器,支持幾乎所有主流的開(kāi)發(fā)語(yǔ)言的語(yǔ)法高亮、智能代碼補(bǔ)全、自定義快捷鍵、括號(hào)匹配和顏色區(qū)分、代碼片段、代碼對(duì)比 Diff、GIT命令 等特性,支持插件擴(kuò)展,并針對(duì)網(wǎng)頁(yè)開(kāi)發(fā)和云端應(yīng)用開(kāi)發(fā)做了優(yōu)化。軟件跨平臺(tái)支持 Win、Mac 以及 Linux,運(yùn)行流暢,可謂是微軟的良心之作。

5.1.2、安裝插件

       進(jìn)入 VSCode,單擊左側(cè)的 擴(kuò)展圖標(biāo),或者按 Ctrl+Shift+X 快捷鍵,即可打開(kāi)擴(kuò)展管理頁(yè)面:

常用插件列表有:

  • Bookmarks書(shū)簽
  • Bracket Pair Colorizer 2括號(hào)按層級(jí)彩色顯示
  • Chinese(Simplified) Language Pack for Visual Studio Code簡(jiǎn)體中文語(yǔ)言包
  • Go Golang 語(yǔ)言開(kāi)發(fā)插件
  • koroFileHeader 用于生成文件頭、函數(shù)等的注釋?zhuān)С侄喾N語(yǔ)言
  • Project Manager 項(xiàng)目管理插件,可以方便的在不同的項(xiàng)目間切換
  • Settings Sync 配置同步插件
  • Power Mode 超級(jí)炫酷的輸入特效插件,給你不一樣的 Codding 體驗(yàn)

       安裝完 Go 插件后,打開(kāi)一個(gè)來(lái) go 文件或項(xiàng)目,VSCode 會(huì)自動(dòng)提示安裝依賴(lài),點(diǎn)擊“安裝”,等待安裝完成即可。如果安裝失敗,參考下面的方法。第三方工具、包的安裝,不論基于什么IDE、編輯?,操作方法都是一致的。

        啟用 go module 的,執(zhí)行如下命令,手動(dòng)安裝:

gopm get ‐v ‐g golang.org/x/tools
gopm get ‐v ‐g golang.org/x/lint
gopm get ‐v ‐g golang.org/x/sync
gopm get ‐u ‐v ‐g github.com/mdempsky/gocode
go install ‐v github.com/mdempsky/gocode
go get ‐u ‐v github.com/uudashr/gopkgs/cmd/gopkgs
go get ‐u ‐v github.com/ramya‐rao‐a/go‐outline
go get ‐u ‐v github.com/acroca/go‐symbols
go get ‐u ‐v golang.org/x/tools/cmd/guru
go install ‐v golang.org/x/tools/cmd/gorename
go get ‐u ‐v github.com/go‐delve/delve/cmd/dlv
go get ‐u ‐v github.com/rogpeppe/godef
gopm get ‐u ‐v ‐g github.com/sqs/goreturns
go install ‐v github.com/sqs/goreturns
go install ‐v golang.org/x/lint/golint
# gopm get ‐v ‐g ‐g golang.org/x/tools/cmd/gopls
go install ‐v golang.org/x/tools/cmd/gopls
gopm get ‐u ‐v ‐g github.com/stamblerre/gocode
go build ‐o %GOPATH%\bin\gocode‐gomod.exe github.com/stamblerre/gocode

5.1.3、常用配置

       修改配置的方法:文件 -> 首選項(xiàng) -> 設(shè)置,或者快捷鍵 Ctrl+.(需要先將焦點(diǎn)移出編輯
?,比如關(guān)閉所有標(biāo)簽頁(yè),或者打開(kāi)左側(cè)的資源管理?即可)。單擊右上解的 {} ,可以打開(kāi) settings.json 文件,手動(dòng)修改配置。

       這是我在用的配置(settings.json 文件的部分內(nèi)容),在此分享給大寫(xiě)。

{
	"files.autoGuessEncoding": true,
	"files.trimFinalNewlines": true,
	"files.trimTrailingWhitespace": true,
	"editor.lineNumbers": "relative", // 相對(duì)行號(hào)
	"editor.fontSize": 18,
	"editor.renderWhitespace": "all",
	"editor.renderControlCharacters": true,
	"editor.wordWrapColumn": 100,
	"editor.rulers": [
		100
	],
	"editor.wrappingIndent": "indent",
	"editor.fontLigatures": true,
	"editor.formatOnPaste": true,
	"editor.formatOnType": true,
	"editor.acceptSuggestionOnEnter": "off",
	"editor.quickSuggestions": {
	"comments": true,
	"strings": true
	},
	"editor.suggest.localityBonus": true,
	"editor.suggestSelection": "recentlyUsedByPrefix",
	"editor.formatOnSave": true,
	"editor.mouseWheelZoom": true,
	"breadcrumbs.enabled": true,
	"workbench.editor.highlightModifiedTabs": true,
	"search.showLineNumbers": true,
	"search.useIgnoreFiles": false,
	"search.followSymlinks": false,
	"debug.inlineValues": true,
	"debug.openExplorerOnEnd": true,
	"debug.allowBreakpointsEverywhere": true,
	"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
	"git.path": "git.exe",
	"git.promptToSaveFilesBeforeCommit": true,
	"git.showPushSuccessNotification": true,
	"powermode.enabled": true,
	"powermode.enableShake": false,
	"sync.autoUpload": true,
	"go.autocompleteUnimportedPackages": true,
	"go.inferGopath": true,
	"go.useCodeSnippetsOnFunctionSuggest": true,
	"go.coverageOptions": "showCoveredCodeOnly",
	"go.gotoSymbol.includeImports": true,
	"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
	"go.buildOnSave": "off",
	"explorer.confirmDragAndDrop": false,
	"explorer.openEditors.visible": 0,
	"fileheader.configObj": {
		"createFileTime": false,
		"language": {
			"go": {
				"head": "http:// ",
				"middle": "http:// ",
				"end": "http://"
			}
		},
		"autoAdd": false, // 自動(dòng)添加文件頭部注釋
		"autoAlready": true, // 僅支持的語(yǔ)言自動(dòng)添加頭部注釋
		"headInsertLine": {
		"php": 2
		},
		"beforeAnnotation": {
			"py": "#!/usr/bin/env python\n# coding=UTF‐8",
			"go": "http:// Package "
		}
	},
	// 函數(shù)注釋 Ctrl+Alt+T
	"fileheader.cursorMode": {},
	// 文件頭注釋 Ctrl+Alt+I
	"fileheader.customMade": {
		"custom_string_obkoro1": "<Copyright(C) Suzhou Keda Technology Co., Ltd. All rights reserved.>"
		"Author": "zhuyadong@kedacom.com",
		"Date": "Do not edit", // 文件創(chuàng)建時(shí)間(不變)
		"LastEditors": "zhuyadong", // 文件最后編輯者
		"LastEditTime": "Do not edit", // 文件最后編輯時(shí)間
	}
}

5.2、GoLand

       GoLand 是 JetBrains 公司推出的商業(yè) Go 語(yǔ)言集成開(kāi)發(fā)環(huán)境(IDE)。GoLand 同樣基于 IntelliJ 平臺(tái)開(kāi)發(fā),支持 JetBrains 的插件體系。JetBrains 還有其它眾多IDE,比如 IDEA,WebStorm,PyCharm, PHPStorm 等。

       雙擊按照向?qū)瓿砂惭b即可。由于是商業(yè)IDE,只能免費(fèi)試用 30 天。網(wǎng)上有破解方
法。如果條件允許,還是建議支持廠商購(gòu)買(mǎi)正版。第三方工具、包的安裝,參考 VSCode 開(kāi)發(fā)環(huán)境中插件安裝一節(jié)。

5.3、Vim

       Vim 又稱(chēng)為神級(jí)文本編輯?,支持眾多特性,速度飛快,有很多在牛都用它寫(xiě)代碼。使用 Vim 寫(xiě) Go 代碼,需要插件 vim‐go ,官方地址:https://github.com/BroQiang/vim-go-ide 。

       如果有 VPN,可以直接訪問(wèn) golang.org 的話,執(zhí)行命令:GoInstallBinaries 可以自動(dòng)安裝依賴(lài)的第三方工具。詳細(xì)配置就不介紹了,對(duì)于熟悉 Vim 的同學(xué)不難,不熟悉的也沒(méi)必要浪費(fèi)時(shí)間折騰,安心使用 VSCode 或 GoLand 就好了。

      第三方工具、包的安裝,參考 VSCode 開(kāi)發(fā)環(huán)境中插件安裝一節(jié)。vim-go 插件依賴(lài)的第三方包列表:

go get ‐u ‐v github.com/mdempsky/gocode
go get ‐u ‐v ‐d github.com/stamblerre/gocode
go build ‐o %GOPATH%\bin\gocode‐gomod.exe github.com/stamblerre/gocode
go get ‐u ‐v golang.org/x/tools/cmd/guru
go get ‐u ‐v golang.org/x/tools/cmd/gorename
go get ‐u ‐v github.com/go‐delve/delve/cmd/dlv
go get ‐u ‐v github.com/rogpeppe/godef
go get ‐u ‐v golang.org/x/lint/golint
go get ‐u ‐v golang.org/x/tools/gopls
go get ‐u ‐v github.com/zmb3/gogetdoc
go get ‐u ‐v github.com/davidrjenni/reftools/cmd/fillstruct
go get ‐u ‐v github.com/fatih/motion
go get ‐u ‐v github.com/kisielk/errcheck
go get ‐u ‐v github.com/josharian/impl
go get ‐u ‐v github.com/jstemmer/gotags
go get ‐u ‐v golang.org/x/tools/cmd/goimports
go get ‐u ‐v github.com/fatih/gomodifytags
go get ‐u ‐v honnef.co/go/tools/cmd/keyify
go get ‐u ‐v github.com/koron/iferr
go get ‐u ‐v github.com/klauspost/asmfmt/cmd/asmfmt
# 支持 go mod
go get ‐u ‐v github.com/golangci/golangci‐lint/cmd/golangci‐lint
# 1.不支持 go mod 2.已廢棄,vim默認(rèn)使用它,可以配置為 golangci‐lint
go get ‐u ‐v github.com/alecthomas/gometalinter

5.4、其他Go代碼編寫(xiě)工具

       除了 VSCode、GoLand 和 Vim ,還有其它一些工具可以用來(lái)寫(xiě) Go 代碼,有興趣的可
以嘗試:

  • LiteIDE:是一款開(kāi)源、跨平臺(tái)的輕量量 Go 語(yǔ)言集成開(kāi)發(fā)環(huán)境。
  • Eclipse:是著名的跨平臺(tái)開(kāi)源集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái)做Java語(yǔ)言開(kāi)發(fā),可以通過(guò)插件使其支持 JavaScript、C++、Python、PHP、Go、Rust 等語(yǔ)言的開(kāi)發(fā)。
  • Sublime:是一個(gè)代碼編輯?,支持多種編程語(yǔ)言的語(yǔ)法亮度,擁有優(yōu)秀的代碼自動(dòng)完成功能。通過(guò)插件可以使其支持 Go 語(yǔ)言開(kāi)發(fā)。

6、Go語(yǔ)言學(xué)習(xí)資料分享

       最后,提供一些 Go語(yǔ)言的在線學(xué)習(xí)資料和網(wǎng)站。

       一些在線學(xué)習(xí)網(wǎng)站:

  • 官方網(wǎng)站1: https://golang.org 
  • 官方網(wǎng)站2: https://golang.google.cn 國(guó)內(nèi)鏡像站點(diǎn),
  • 官方文檔1: https://golang.org/doc 
  • 官方文檔2: https://golang.google.cn/doc 國(guó)內(nèi)鏡像站點(diǎn),無(wú)需翻
  • GoDoc文檔3: https:/godoc.org 
  • Go Walker: https://gowalker.org 一個(gè)可以在線生成并瀏覽 Go 項(xiàng)目 API 文
  • 檔的 Web 服務(wù)?
  • Go在線教程: https://tour.golang.org 
  • Go語(yǔ)言中文網(wǎng):https://studygolang.com Golang中文社區(qū)
  • Golang中國(guó):https://www.golangtc.com Golang 中文社區(qū)
  • Go中國(guó)技術(shù)社區(qū):https://gocn.vip Golang 中文社區(qū)

  一些推薦的電子書(shū):

  • 《The Way to Go》,作者:Ivo Balbaert;中文書(shū)名是《Go 入門(mén)指南》,翻譯:無(wú)聞,https://github.com/Unknwon/the-way-to-go_ZH_CN
  • 《Go Web編程》,作者:謝孟軍,https://github.com/astaxie/build-webapplication-with-golang
  • 《深入解析Go》,作者:tiancaiamao,https://github.com/tiancaiamao/go-internals

 

到此這篇關(guān)于Windows系統(tǒng)中搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境圖文詳解的文章就介紹到這了,更多相關(guān)Windows搭建Go開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Golang中如何實(shí)現(xiàn)枚舉詳析

    Golang中如何實(shí)現(xiàn)枚舉詳析

    舉就是將數(shù)據(jù)值一一列出來(lái),枚舉可以用來(lái)表示一些固定的值,枚舉是常量組成的,下面這篇文章主要給大家介紹了關(guān)于Golang中如何實(shí)現(xiàn)枚舉的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 詳解Go語(yǔ)言如何使用xorm實(shí)現(xiàn)讀取mysql

    詳解Go語(yǔ)言如何使用xorm實(shí)現(xiàn)讀取mysql

    xorm是go語(yǔ)言的常用orm之一,可以用來(lái)操作數(shù)據(jù)庫(kù)。本文就來(lái)和大家聊聊Go語(yǔ)言如何使用xorm實(shí)現(xiàn)讀取mysql功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • 使用golang實(shí)現(xiàn)在屏幕上打印進(jìn)度條的操作

    使用golang實(shí)現(xiàn)在屏幕上打印進(jìn)度條的操作

    這篇文章主要介紹了使用golang實(shí)現(xiàn)在屏幕上打印進(jìn)度條的操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Go語(yǔ)言七篇入門(mén)教程二程序結(jié)構(gòu)與數(shù)據(jù)類(lèi)型

    Go語(yǔ)言七篇入門(mén)教程二程序結(jié)構(gòu)與數(shù)據(jù)類(lèi)型

    這篇文章主要為大家介紹了Go語(yǔ)言的程序結(jié)構(gòu)與數(shù)據(jù)類(lèi)型,本篇文章是Go語(yǔ)言七篇入門(mén)系列文,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • go 生成器模式的具體使用

    go 生成器模式的具體使用

    生成器是一種創(chuàng)建型設(shè)計(jì)模式,使你能夠分步驟創(chuàng)建復(fù)雜對(duì)象,本文主要介紹了go生成器模式的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Golang實(shí)踐之Error創(chuàng)建和處理詳解

    Golang實(shí)踐之Error創(chuàng)建和處理詳解

    在 C#、Java 等語(yǔ)言中常常使用 try...catch的方式來(lái)捕獲異常,但是在Golang 對(duì)于錯(cuò)誤處理有不同的方式,像網(wǎng)上也有很多對(duì) error 處理的最佳實(shí)踐的文章,其中很多其實(shí)就是對(duì) error 的統(tǒng)一封裝,使用規(guī)范進(jìn)行約束,本文主要是記錄自己對(duì)處理 Error 的一些認(rèn)識(shí)和學(xué)習(xí)
    2023-09-09
  • Go遍歷struct,map,slice的實(shí)現(xiàn)

    Go遍歷struct,map,slice的實(shí)現(xiàn)

    本文主要介紹了Go語(yǔ)言遍歷結(jié)構(gòu)體、切片和字典的方法,對(duì)大家的學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • Go語(yǔ)言單控制器和多控制器使用詳解

    Go語(yǔ)言單控制器和多控制器使用詳解

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言單控制器和多控制器的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Go語(yǔ)言框架快速集成限流中間件詳解

    Go語(yǔ)言框架快速集成限流中間件詳解

    這篇文章主要為大家介紹了Go語(yǔ)言框架快速集成限流中間件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Go語(yǔ)言學(xué)習(xí)之映射(map)的用法詳解

    Go語(yǔ)言學(xué)習(xí)之映射(map)的用法詳解

    Map是一種無(wú)序的鍵值對(duì)的集合。這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中映射的用法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下
    2022-04-04

最新評(píng)論