Windows/Linux/Mac go安装,go环境变量配置;vscode安装,go/gopls/Outline安装

近期文章:在 macOS和Linux 上安装 golang多版本 管理工具 g,并解决 mac下 iTerm 终端g不能使用问题

go安装

目前稳定版本是1.19.x和1.20.x

go安装官方文档点击跳转https://golang.google.cn/doc/install

https://golang.google.cn/doc/installhttps://go.dev/dl/下载对应操作系统平台指定的版本即可。

Windows go安装

从官网下载 go1.x.y.windows-amd64.msi ,按照安装向导安装。

>go version
go version go1.20.4 windows/amd64 1 2 


#添加环境变量
$ go env -w GO111MODULE=on 
#配置阿里云代理
$ go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

Linux go安装

解压

$ tar xf go1.20.4.linux-amd64.tar.gz -C /usr/local

添加到环境变量PATH,修改$HOME/.profile或/etc/profile

export GO111MODULE=on
export GOROOT=/usr/local/data/go
export PATH=$PATH:$GOROOT/bin
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
export GOPATH=/usr/local/data/go_path

加载go环境变量

$ source $HOME/.profile或/etc/profile

查看go环境变量

$ go env

MacOS go安装:

  1. 打开Go官方下载页面: https://golang.org/dl/
  2. 下载适合你的操作系统版本的Go安装程序(对于Mac用户,你应该下载.pkg文件)
  3. 双击下载的.pkg文件,这将打开Go的安装向导,然后按照向导指示完成安装。
  4. 配置环境变量:
[pengfei ~]# vim ~/.zshrc
export GOROOT=/usr/local/go
export GOPATH=/Users/pengfei/go_path
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export PATH=$PATH:$GOROOT/bin:$GOPATH


#下载的第三方依赖库存储在$GOPATH/pkg/mod下
#go install 生成的可执行文件存储在$GOPATH/bin下
#依赖包的查找顺序:1、工作目录2、$GOPATH/pkg/mod 3、$GOROOT/src



#创建GOPATH
[pengfei ~]# mkdir /Users/pengfei/go_path

重新加载zshrc文件

[pengfei ~]# source ~/.zshrc

VSCode 安装

  1. 打开 VSCode 官方下载页面:https://code.visualstudio.com/download
  2. 下载 mac 版本的 VSCode 安装程序。
  3. 双击安装程序,并遵循安装向导的提示完成安装过程。

vscode 中 go安装,Outline 插件安装

  1. 打开VSCode。
  2. 在左边的工具栏中点击Extensions图标或按下 Ctrl+Shift+X 来打开Extensions面板。
  3. 在搜索框中输入 Go,然后从搜索结果中找到 Go 并点击 Install。这个插件由Go团队开发,它提供了对Go语言的智能感知、重构和代码导航支持。

vscode 中创建和初始化 Go 项目的步骤如下:

  1. 打开VSCode。
  2. 选择”File” > “New Window”。
  3. 选择”File” > “Open Folder”,然后选择你想要放置新项目的位置。
  4. 在出现的对话框中输入你的新项目名称,例如”myGoProject”,然后点击”Create”。
  5. 在新窗口的左侧边栏中,右键点击你新创建的文件夹,并选择”New File”。在对话框中输入你的Go文件的名字,例如”main.go”,然后按Enter。
  6. 在新创建的main.go文件中,写入以下的Go代码:
package main
import "fmt"
func main() {
 fmt.Println("Hello zhpengfei.com")
}

此时vscode右下角会提示安装gopls等,可以点击Install All安装,会自动安装好下面这些,如果安装失败,可以退出重新打开vscode,会再次提示安装,当然也可以手动安装,看下面内容

关于gopls和dlv下面有详细说明和手动安装方式

现在创建了一个新的Go项目。要初始化这个项目,需要在项目根目录下生成一个新的go.mod文件,这个文件描述了项目依赖

首先,打开一个新的终端窗口(”Terminal” > “New Terminal”),然后输入以下命令:

go mod init zhpengfei.com/myGoProject
  1. 运行该命令后,在VSCode项目目录中自动创建了一个新的go.mod文件。现在项目已经初始化完毕,就可以开始在main.go文件中编写代码了。
  2. 写入以下的Go代码:
package main
import "fmt"
func main() {
 fmt.Println("Hello zhpengfei.com")
}
  1. 运行go 打开一个新的终端。点击菜单栏上的 “Terminal” > “New Terminal” 或者使用快捷键 Ctrl +(反引号,位于键盘左上角) 来完成。
  2. 在打开的终端中,输入以下命令来运行你的Go代码
[pengfei ~]# go run main.go
Hello, zhpengfei.com

gopls 安装

gopls(发音Go please)是官方提供的模块,实现语言服务器协议LSP的Language Server,具有构建、 格式化、自动完成等功能。 LSP是由微软开发的开发标准,它为便捷器提供对语言特性的支持。 当你使用模块和 VSCode 时,在编辑器中点击保存将不再直接运行 go build 命令。现在发生的情况是, 一个请求被发送给 gopls,gopls 运行适当的 Go 命令和相关的 API 来提供编辑器反馈和支持

可以手动安装,也可以在VSCode中编辑第一个xxx.go文件触发安装。 可以点击Install单独安装,也可以点击Install All连dlv等一起安装。

手动安装gopls

$ go install -v golang.org/x/tools/gopls@latest

dlv安装

go-delve是Go语言的调试利器。

按F5启动调试,会出现安装dlv的提示。同样,可以手动安装,也可以根据vscode提示安装。

$ go install -v github.com/go-delve/delve/cmd/dlv@latest

至此,运行Go所需的go、gopls、dlv。 查看 ~/go/bin 可以看到dlv、gopls的可执行文件。

staticcheck语法检查器,建议安装

go install honnef.co/go/tools/cmd/staticcheck@latest 

注意:如果以上点击 Install 、 Install All ,出现下载超时失败,可以手动运行安装命令安装以上 插件。

命令行中运行

$ go run ./main.go
Hello zhpengfei.com

go常用命令

Go语言提供了许多有用的命令来帮助开发和维护代码。以下是一些常用的Go命令:

1. go run: 这个命令可以编译并运行你的Go程序。例如,go run main.go 将会编译并运行名为main.go的文件。
2. go build: 这个命令用于编译Go源代码文件。它会生成一个可执行的二进制文件。例如,go build main.go 将会编译main.go并生成一个可执行文件。
3. go install: 这个命令编译并安装一个Go程序。它将程序的可执行文件放在 $GOPATH/bin 或 $GOBIN 目录下。
4. go get: 这个命令用于从远程库中下载并安装依赖。例如,go get github.com/lib/pq 会从GitHub上下载并安装lib/pq库。
5. go mod: 这是一个用于处理模块的命令。例如,go mod init 创建一个新的模块,初始化一个 go.mod 文件,该文件描述了模块的依赖项。
6. go test: 这个命令用于运行测试。例如,go test` 将运行当前目录下的所有测试。
7. go fmt: 这个命令用于格式化你的Go代码。例如,go fmt ./... 将会格式化你的整个项目。
8. go vet: 这个命令用于检查你的Go代码是否有可能的错误。例如,go vet ./... 将会检查你的整个项目。
9. go doc: 这个命令用于查看Go代码的文档。例如,go doc fmt.Println 会显示 fmt.Println 函数的文档。
10. go version: 这个命令用于查看你当前安装的Go的版本

Comments

No comments yet. Why don’t you start the discussion?

发表评论