目录
思考:run和build的区别,.go文件和.exe文件的区别
了解Golang
Golang(又称Go)是Google公司开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收功能、接口等特性的语言级支持。Go语言本身是为了更简洁开发的过程,加快开发的效率,这样看来他更像是C++和Python的结合版,保留了部分的程序效率也加强了代码的开发效率。
首先我们先来简单理解一下它的几个特性。
①静态类型
所谓静态类型无非就是我们程序在编译阶段进行类型检查,通俗理解可以是变量在编译阶段就确定了,典型的语言包括C、C++、Java和C#等等,而Python我们在使用的时候可以发现并不需要指定变量的类型,所以它其实是动态类型的语言。
②编译型
如果有过Linux基础的同学可以很好的理解这个问题,从Linux角度来理解,我们在编译一段程序的时候需要在bash中进行gcc的编译,这其实就是编译的过程,C/C++就是编译型的语言。
③并发
并发的概念其实并不难理解,但是怎么原生支持并发其实并不容易,在Golong语言中,我们可以用go 来创建一个 goroutine,一个 goroutine 可以看作是一个轻量级线程,它可以与其他 goroutine 并发地运行。当然这也只是目前的简单理解,后续会对这个并发进行深入探究。
④垃圾回收机制
熟悉java的同学一定非常了解垃圾回收GC,在java中有许多的垃圾回收方式,比如标记法和内存整理等等方式,由于小白我是C++方向,而C++又没有垃圾回收,所以这里先暂时不展开讨论。
特点总结
以上所述可以使我们简单的了解到Go语言在哪些方面很强大,当然也只是简单的了解一下而已,但是这也足够了,我们在学习一门语言的时候很应该先了解一下为什么要有这门语言,这门语言的优势和劣势都在哪里,这样可以让我们更宏观的去认知这个语言。常问问自己,为什么,做什么,怎么做,是非常有助于我们思考的方式
怎样去编写Go语言呢?
IDE
在IDE的使用上,使用“变态”的vsCode就可以,我们只需要在vs中打开自己想要的文件路径下的文件,并且创建一个".go"文件即可。(vscode在初用时可能会觉得很垃圾,写个代码都不能自己跑,还要下各种扩展库,但是用着用着就发现,它 实 在 太 变 态 了!!!!)
这样我们就可以编写我们的第一段Go代码了
这个时候可能有同学问,我还不会啊,这写得是啥啊!目前为止,图中代码我们不需要知道干什么的,他肯定是输出,但是package和导入的fmt都是什么,我们都不需要了解(我在写的时候也是照着敲得,除了知道输出Hello World,我也不知道为啥这么写)。但是!我们只需要知道,此时我们已经具备了我们学习一门语言的第一步!也就是打印出我们的第一个Hello World!!!
可是,哈哈,我们现在用vscode并不能像已有的IDE一样直接运行,况且刚才也说到了,Go其实是一门静态的编译型语言,我们还没编译呢,怎么可能运行呢~~~,别急,我们还缺少一个重要的步骤。
安装SDK
[1] 搭建Go开发环境 - 安装和配置SDK基本介绍:
1) SDK的全称(Software Development Kit 软件开发工具包)
2) SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包
[2] SDK下载
1) Go语言的官网为: golang.org ,无法访问,需要翻墙。
2) SDK下载地址: Golang中文社区: Go下载 - Go语言中文网 - Golang中文社区
[3] 安装SDK:请注意:安装路径不要有中文或者特殊符号如空格等
安装步骤
①首先我们先访问Golang的中文社区,然后下载我们所需要的对应版本
选择对应得系统和操作位数,下载后解压对应得压缩包
其中里面得 go 文件就是我们需要得SDK
最后一步,验证下载的SDK是否下载成功,需要cmd打开dos窗口,通过dos指令进入到我们下载的文件路径下,然后go version查看。
但是此时只能在对应的文件目录下使用 go version指令查看,所以我们需要配置环境变量,让在任意路径下都可以使用,大概系统设置,高级系统设置->环境变量->path->粘贴我们go.exe所在目录到path中
重启命令台后再次尝试使用 go version指令,成功执行表示环境配置成功
此时我是在C盘中直接进行go version的,能够运行指令表示环境已经配置成功了。
输出我们的Hello World!
代码已经写好了,接下来就是编译了!
①在命令台中用 go build 指令进行编译(小tips:我们不需要在dos窗口一条一条的cd到我们的文件下,我们可以直接找到文件的位置,然后右键,打开dos窗口即可)
②然后执行.exe文件
③或者我们也可以用go run指令合并两个过程,即编译->执行,但是其实原理是一样的,只不过隐藏了编译的过程而已
这样我们就输出了我们的第一个go语言Hello World了!相信到了这个时候,很多同学就明白编译型语言是什么了,这里我们可以很明显的看到我们的.go文件在build后生成了.exe文件,这就是编译的过程。
思考:run和build的区别,.go文件和.exe文件的区别
其实run和build的区别并不大,在我们使用run指令的时候可以感觉到明显的停顿感,并不像直接./运行那么流畅,这就是系统隐藏的帮我们编译了.go文件。并且.go文件和.exe文件的大小相差很大,这也就是我们编译过程所导致的。
最后,该片文章也是小白我的第一篇博客文章,之前就想过写一些博客来记录自己的学习日常,但是总是觉得很麻烦,所以也就一直没弄过。恰巧这次要学习一门新的语言,那就正好记录一下自己的学习历程和想法,也算是巩固一下自己的学习成果吧,并且也希望能够帮助一些其他跟我一样初次学习Go语言但不知从何下手的小伙伴,我是非常能理解想学习一个技术但无从下手的那种感觉的/(ㄒoㄒ)/~~。