准备
- golang 下载地址: https://golang.google.cn/dl/
根据系统版本选择合适安装包,这里选择的
傻瓜式下一步下一步安装 - 验证
安装成功
环境变量配置
我修改了go默认目录, 安装目录是:
D:\soft\golang
也称为GOROOT
目录。另外需要配置一个工作目录GOPATH
,以后写的代码都在这个工作目:F:\go_project
在该目录创建两个文件夹bin
存放编译后文件,src
源码文件(自己代码)
- 配置变量
GOPATH
会默认填充一个变量,这里修改为自己的
- go env 查看环境配置
golang 环境搭建完成。
开发工具配置
使用的
vscode
作为golang 开发工具
- VSCode 下载 https://code.visualstudio.com/
安装省略。 - 汉化
- go插件安装
写个HelloWorld
在 GOPATH 目录下创建
golang.org\x\tools
放vscode 需要依赖工具。在src 下面创建一个文件夹放代码src/com.ikang.go
package main
import "fmt"
func main() {
fmt.Print("helo World")
}
使用vscode 时,各种插件下载失败
go-outline
go-symbols
gotests
gomodifytags
impl
fillstruct
goplay
godoctor
dlv
gocode-gomod
goreturns
golint
Installing github.com/haya14busa/goplay/cmd/goplay FAILED
Installing golang.org/x/tools/cmd/gorename FAILED
Installing github.com/godoctor/godoctor FAILED
Installing github.com/cweill/gotests/... FAILED
Installing github.com/go-delve/delve/cmd/dlv FAILED
Installing github.com/fatih/gomodifytags FAILED
Installing github.com/josharian/impl FAILED
Installing github.com/stamblerre/gocode FAILED
Installing github.com/davidrjenni/reftools/cmd/fillstruct FAILED
Installing github.com/sqs/goreturns FAILED
Installing golang.org/x/lint/golint FAILED
尝试了很多方式都无法解决,后来看到一篇文章介绍,
go语言在诞生之时,没有提供随之的包管理工具,而是使用go get来下载依赖包,并放在$ GOPATH / src下,并且没有使用版本控制,以为着每次都会拉取master分支的代码,软件包的代码放在src/github.com/xx/xx下面
Go 1.11之后的版本引入了Go模块(Go Modules),Go Modules使用go.mod
中标记的软件包的版本,软件包的代码放在pkg/mod下面
配置代理
go1.13及以上
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
go1.12及以下
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io
重新打开 vscode 自动下载需要依赖,安装成功
编译代码
使用go build
编译时会报错
F:\go_project\src\com.ikang.go\studygo\day01\helloworld>go build
go: cannot find main module; see 'go help modules'
go1.11 之后发生了变化,需要先生成一个,go.mod
文件
F:\go_project\src\com.ikang.go\studygo\day01\helloworld>go mod init main
go: creating new go.mod: module main
F:\go_project\src\com.ikang.go\studygo\day01\helloworld>go build
F:\go_project\src\com.ikang.go\studygo\day01\helloworld>main.exe
helle World
编译成功后生成一个 .exe
文件,执行该文件输出结果
总结
golang 环境搭建,开发工具配置,测试整个流程完了,算是万里长征迈出第一步,东西还有很多,继续学习