快速入门

一、安装环境

安装Go语言的环境还是非常简单的,由于国内众所周知的情况,这里还是推荐访问https://studygolang.com/dl进行下载。这里会定期和Go语言的官网进行同步。

image.png

大家可以根据自己的操作系统下载对应的安装包,然后就像一个普通软件安装就好,这里推荐使用go1.13以上的版本。
因为这个版本增加了官方镜像的功能,再也不用担下载各种依赖项了,同时也支持Go Module这种更现代化的依赖管理,不用再考虑GO_PATH这种“略反人类”的配置方式了。

因为我常用的系统是Mac,后续配置就以Mac系统为主,最后会补充Windows电脑的上的一些配置。

这里当安装成功之后,需要确认下是否正确安装,请打开终端,然后输入go version,如果返回如下,则证明环境安装成。

image.png

二、配置环境

安装完成之后,我们还需要做如下两个配置

  1. 启用GO Module
    Go Module是从Go语言1.11这个版本之后才支持的特性,几乎是完美的解决了Go语言开发中各种组件之间依赖的问题,对于一个习惯使用Maven和NPM管理的程序员来说,反而还挺好适应的。
    这里启用的方法也很简单,直接输入go env -w GO111MODULE="on"
  2. 修改依赖包下载的代理
    由于众所周知的原因,Go语言的各种依赖包下载非常缓慢,这里为了保证我们开发的顺畅性,需要配置代理服务器,目前国内比较推荐阿里的服务,配置方法输入go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/即可

最后我们在终端上输入go env检查下配置是否生效,如下图中红框内的内容就证明已经配置正确了。

image.png

三、开发环境配置

经过前面安装和配置,我们就可以开始写个Hello World庆祝一下的,但本着“工欲善其事,必先利其器”的思路,我们还是需要配置一下开发环境,方便我们后续的学习和开发。

因为最近一直做Java更多,这里我就优先选择IDEA+Go插件来配置我们的主力开发环境。

这里需要下载IntelliJ IDEA的Ultimate版本,下载地址为:https://www.jetbrains.com/idea/download/

安装过程非常简单,这里就不赘述了。

当启动IDEA之后,选择Configure,弹窗菜单里选择Plugins


image.png

然后在Marketplace中输入Go后,并选择安装


image.png

这里,如果你只开发Go语言的话,也可以直接安装GoLand,和IDEA+Go插件的方式体验完全一致。
接着,还需要安装File Watcher插件,方式同上


image.png

四、写第一个Hello World

作为学一门新语言的仪式,写个Hello World那是必须的,现在我们就开始吧。

首先创建一个新的项目


image.png

选择Go Module

这里注意,还需要把Proxy再设置为阿里的镜像。


image.png

接着我们就写一下项目名称以及项目保存的目录即可

image.png

今后我们基础的部分,都会使用studyGo这个项目进行练习,当然你也可以按照你的喜欢,选择其他的项目名称

好,接着我们先新建一个Go文件,就叫hello_world.go吧。


image.png

这里,我们就选择从一个空的文件开始写起。

一个最简单的Go语言的Hello World:

package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

接着,你可以直接在IDEA里运行这段程序,如果一切顺利的话,你将可以在下面看到那句“经典的Hello World

image.png

好,收起我们写完第一个Go程序的兴奋,那么我们回过来看下这只有4行的程序。

第1行 是指明当前程序的包,默认程序运行的入口都要声明为package main,但和Java不一样,这里的package的声明和文件的目录结构是没有关系的,这点要特别注意。

第2行 是指我们导入fmt这个默认的标准库,所有今后引入外部的module都是这样通过import引入进来

第3行 我们声明了一个main函数,也是Go语言默认的入口执行函数的写法,同时还要特别注意下,同一个package的声明下,只能有一个main函数

第4行,我们就调用了fmt这个库中Println方法,输出我们需要的Hello World

最后注意下,Go语言的函数,也是遵守前后括号闭合的原则,这点和Java、JavaScript都很相似。

好,至此,我们就可以算是正式踏上了学习Go语言之路,在学习的过程中,也希望你能跟我一起敲代码和调试,这样才能更快的掌握Go语言,同时后面,我也会将Go语言和我熟悉的Java和JavaScript进行一些对吧,但如果你想用好Go语言,则最好能忘记你之前的语言,用Go语言来思考问题。

你可能感兴趣的:(快速入门)