一种语言会老吗?
我觉得会的,Objective-C语言变老了,就出现了 Swift语言。头号的语言c语言变老了,golang语言就出现了。
他们是像似一种血缘的关系,一出生就带有了某种的相似性。
如果你对c语言很熟悉,不妨看看 golang语言,看看他们的相似性,和 golang语言自身带有的现代性。
安装
到官方的下载地址下进行下载:点这里。
如果不想看那么多英文的话,直接点击下载就可以了,这里是讲windows的安装,你就安装windows的版本就好了。
一路安装到底就对了。
选择安装的路径:
我们装的目录在 C:\Program Files\Go ,我们去看看,安装完成以后,目录有哪些。
好了,我们的 golang安装成功了。但是我们还不要着急用,还有几个东西要配置一下。
环境变量配置
在环境变量path中,看看有没有把 golang安装路径给添加上。
确实,安装程序很聪明,已经把路径给安装上了。
为了以后的规范使用,我们创建一个文件夹GolangProjects,这个文件夹用来存放我们以后golang的代码和库。
在GolangProjects里再创三个文件夹
bin:go install 在编译项目时,生成的可执行文件会放到此目录
pkg:go install 在编译项目时,生成的包文件会放到此目录
src :以后所有项目都要放在这个目录
这三个路径,还需要环境变量来配合。GOPATH
GOBIN 的配置在C:\work\GolangProjects\bin下,这样以后我们下载的exe都会放在这个目录下
GOROOT 的配置在安装目录下 C:\work\GolangProjects\bin
这个时候我们的环境基本建立起来了,打开一个控制台,输入go命令,会有如下的提示。
运行helloword
在目录 C:\work\GolangProjects\hello 下 新建文件main.go
1
2
3
4
5
|
package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
|
运行代码:
C:\work\GolangProjects\hello>go run main.go
结果 如下:
hello world!
设置代理
有些时候在下载包的时候很慢,如下的命令,开始提高速度:
1
2
|
C:\Users\Administrator>go env -w GO111MODULE=on
C:\Users\Administrator>go env -w GOPROXY=https://goproxy.cn
|
vscode编辑器调试golang
vscode 很好的一个编辑器,下载地址在这里。
完成安装后,配置下go的环境。
命令安装 go:install/update
找到 go:install/update tools
全选,安装。
提示安装完成。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Tools environment: GOPATH=C:\work\GolangProjects, GOBIN=C:\work\GolangProjects\bin
Installing 7 tools at the configured GOBIN: C:\work\GolangProjects\bin in module mode.
gotests
gomodifytags
impl
goplay
dlv
staticcheck
gopls
Installing github.com/cweill/gotests/gotests@latest (C:\work\GolangProjects\bin\gotests.exe) SUCCEEDED
Installing github.com/fatih/gomodifytags@latest (C:\work\GolangProjects\bin\gomodifytags.exe) SUCCEEDED
Installing github.com/josharian/impl@latest (C:\work\GolangProjects\bin\impl.exe) SUCCEEDED
Installing github.com/haya14busa/goplay/cmd/goplay@latest (C:\work\GolangProjects\bin\goplay.exe) SUCCEEDED
Installing github.com/go-delve/delve/cmd/dlv@latest (C:\work\GolangProjects\bin\dlv.exe) SUCCEEDED
Installing honnef.co/go/tools/cmd/staticcheck@latest (C:\work\GolangProjects\bin\staticcheck.exe) SUCCEEDED
Installing golang.org/x/tools/gopls@latest (C:\work\GolangProjects\bin\gopls.exe) SUCCEEDED
All tools successfully installed. You are ready to Go. :)
|
用vscode打开刚才hello 的目录:C:\work\GolangProjects\hello,按下快捷键 F5,进行调试,这时候我们需要创建launche.json,编辑launche.json如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}"
}
]
}
|
继续按下快捷键 F5,会出现如下的错误:
Build Error: go build -o c:\work\GolangProjects\hello\__debug_bin.exe -gcflags all=-N -l .
go: go.mod file not found in current directory or any parent directory; see 'go help modules' (exit status 1)
我们少了mod文件,用命令行生成。
什么也没有,以后我们再来聊聊,这个文件的作用:
1
2
|
module hellogo
go 1.19
|
继续按下 F5,终于断点,断住了。