GO语言简介
GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。GO语言在语法上与C语言相类似,GO语言有以下的特点:
- 开源 ,开源免费是很多程序员选择GO语言的原因之一;
- 跨平台 ,可以在windows,Linux,MacOS等平台使用;
- 独具一格的面向对象编程方式 通过结构类型+关联方法来实现面向编程的能力;
- 网络功能丰富 这个要慢慢体会;
- 程序可以直接在谷歌的网站上运行 在go playground,可以直接编写代码或把自己的代码粘贴上,然后运行,所以可以在不安装任何软件的情况下使用GO语言,也可以在以下网站运行。
https://play.studygolang.com/ - 并发编程简洁 ;
- 丰富的标准库 ;
GO语言的安装
以Windows平台为例: 1、下载GO,可以访问GO的官网,为了提高下载速度,我是访问国内的GO,地址如下:(https://studygolang.com/dl) GO下载地址 选择Windows平台的下载文件,如下图所示: 可以看到最新版本是GO1.17.6,本次下载的是go1.17.6.windows-amd64.msi 2、安装 双击下载的安装文件,本次安装的目录是c:\go 3、设置环境变量 在WIN10中,设置GOROOT变量的值为C:\GO,当然这个也可以不用设置,因为GO安装程序一般会自动设置了。 在C盘创建C:\GOprjs目录,该目录作为自己编写的GO程序目录。设置GOPATH变量的值为C:\GOprjs 4、验证GO程序是否安装成功。 打开CMD窗口,输入go version,如果有输出版本信息,说明GO安装成功。 C:>go version go version go1.17.6 windows/amd64 5、添加子目录 在CMD窗口,在c:\GOprjs目录下,输入以下两个命令创建子目录,也可以直接在图形界面下创建子目录。创建子目录命令 .
Mkdir src
Mkdir bin
其中src就是自己的源代码所在的目录,后面的第一个程序test就是创建在src目录下的。 至此,已经可以使用GO进行编程了,但是只是文本方式的编程,非常不方便,所以还需要安装VS CODE,在VS CODE中进行GO的编程。
安装VS CODE
vs code是微软提供的代码图形化编辑器,完全免费,支持go,python,php等语言。 1、在百度输入 vs code,很容易找到vs code的官网 2、选择windows安装版本,下载,本次下载的是: VSCodeUserSetup-x64-1.63.2.exe
3、用管理员运行安装文件。用管理员运行,才能选择指定的目录,本次安装选择的是c:\program files目录,把文件关联关系的勾选上,这样,选中一个go文件,默认就用vs code打开。 4、安装好后能启动VS CODE,说明安装成功 在安装vs code go语言插件之前,还需要安装git。
安装git
1、到git官网,下载git的windows版本。本次下载的是: git-2.34.1-64-bit.exe 2、安装git,按默认值安装即可。 3、接着需要在src目录下创建两个子目录,一个是golang.org,另一个是x(在golang.org下创建),命令如下: C:\Goprjs\src>mkdir golang.org C:\Goprjs\src>cd golang.org C:\Goprjs\src\golang.org>mkdir x C:\Goprjs\src\golang.org>cd x 接着在x子目录执行以下命令: C:\Goprjs\src\golang.org\x>git clone https://github.com/golang/tools.git 回车后出现以下提示 Cloning into ‘tools’… fatal: unable to access ‘https://github.com/golang/tools.git/’: OpenSSL SSL_read: Connection was reset, errno 10054 下载失败,这时候需要设置GOPROXY代理来提高访问速度。 C:\Goprjs\src\golang.org\x>SETX GOPROXY https://mirrors.aliyun.com/goproxy/ 把代理设置为阿里云的,但是还是失败 C:\Goprjs\src\golang.org\x>git clone https://github.com/golang/tools.git Cloning into ‘tools’… fatal: unable to access ‘https://github.com/golang/tools.git/’: OpenSSL SSL_read: Connection was reset, errno 10054 C:\Goprjs\src\golang.org\x>SETX GOPROXY https://mirrors.aliyun.com/goproxy/
又尝试设置为https://goproxy.cn,不能完全成功 设置为https://goproxy.io后,成功 C:\Goprjs\src\golang.org\x>git clone https://github.com/golang/tools.git Cloning into ‘tools’… remote: Enumerating objects: 61242, done. remote: Counting objects: 100% (6/6), done. remote: Compressing objects: 100% (6/6), done. remote: Total 61242 (delta 0), reused 5 (delta 0), pack-reused 61236 Receiving objects: 100% (61242/61242), 28.03 MiB | 9.52 MiB/s, done. Resolving deltas: 100% (44210/44210), done. Updating files: 100% (1924/1924), done. 并且速度很快 接下来执行第二个git命令 C:\Goprjs\src\golang.org\x>git clone https://github.com/golang/lint.git Cloning into ‘lint’… 这个命令不成功,后来查阅资料,修改go mod setx GO111MODULE on C:\Goprjs\src\golang.org\x>git clone https://github.com/golang/lint.git Cloning into ‘lint’… 再次执行命令 remote: Enumerating objects: 786, done. remote: Counting objects: 100% (6/6), done. remote: Compressing objects: 100% (4/4), done. Receiving objects: 93% (731/786)ed 6 (delta 2), pack-reused 780Receiving objects: 92% (724/786) Receiving objects: 100% (786/786), 358.40 KiB | 1.59 MiB/s, done. Resolving deltas: 100% (460/460), done. 终于成功。
setx GO111MODULE on 把go mod修改回auto
安装VS CODE GO插件
在VS CODE界面,单击左排最后一个按钮,出现插件管理界面,搜索go,搜到GO的首选插件,点"install"安装,这个安装很快完成。 然后,在任意一个目录创建test.go文件,右键,选择用code打开 vs code打开test.go后,输入任何一个字符,在右下方出现"toools missing"的提示 单击提示并在弹出框中选择install ALL,然后开始安装缺少的工具,这个过程比较长,直到最后出现all tools successfully installed的提示。
第一个GO程序
1、在c:\goprjs的src目录下,创建test子目录 2、在vs code中打开test子目录 3、在vs code中新建一个文件,保存为test.go 4、在vs code的test.go中,输入以下代码 hello world代码 .
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
发现这个智能提示不是很及时,保存一下,才能出现。 5、按"运行”,再点“按非调试模式运行”,在输出窗口看到运行结果。 Type ‘dlv help’ for list of commands. Hello World! Process 41148 has exited with status 0 Detaching dlv dap (40312) exited with code: 0
6、在cmd状态下,在test子目录,输入go run test.go同样,能看到程序运行结果。 C:\goprjs\src\test>go run test.go Hello World!
如果go module模式为on则导致go run运行不了,这时设置一下go module为auto就可以了,设置好后,用go env查看一下结果。
C:\goprojs>go env (回车) set GO111MODULE=auto set GOARCH=amd64 …
注意:如果go module 为on,vs code也不能正常运行,所以这个go module一定要设置好。
参考 [1]: 谢琼,GO 语言从入门到精通,人民邮电出版社 [2]:汪明,GO并发编程实战,清华大学出版社
|