GoLang:第一篇 The Way To Go!(Go语言入坑指南)

本文最后更新于:6 个月前

The Way To Go!第一次学,我也不是很懂,有错误麻烦指出一下。

Just Go

语言之间没有孰优孰劣,Python的易用和C的高性能都,各家有各家的长处。而掌握一门语言就能走遍天下的时代即将过去(JAVA除外),未来一定是多钟语言之间相互融合相互穿插的时代,而Go的热度趋势也在不断的上升,所以今天开一个新坑,从零学习Go语言。今天就先实现一个Hello world。

起源与发展

详情看百度百科

安装Go环境

Download Go

在GooGle的GoLang网站可以直接下载Go的二进制发行版。点击下载

20210115223309-2021-01-15

而Go的官网:http://golang.org/在国内是没法访问的,需要一点点的爬墙手段。

打开PowerShell,输入go version,可以看到go version go1.15.6 windows/amd64就代表成功安装了。

安装IDE

一般推荐使用GoLand,可以省下很多麻烦事儿。
我这里使用的是VsCode,能用就行,不强求。
20210115223933-2021-01-15

配置环境

当我们新建了一个Go文件之后,会提示需要安装Go的依赖,直接在VsCode里面安装依赖是不行的,会提示失败。
由于国内网络的原因,对于一些golang的开发包下载不成功,针对这个情况,go在1.13版本中,添加了如下两个环境变量:

1
2
GO111MODULE         // 设置go module
GOPROXY // 设置代理服务器

Windows在电脑 -> 系统 -> 高级系统设置 -> 用户环境中分别新建GO111MODULE和GOPROXY两个用户变量,其值如下图所示:

1
2
GO111MODULE=on
GOPROXY=https://goproxy.io

或者

1
2
GO111MODULE=on
GOPROXY=https://goproxy.cn,direct

配置好了如下所示:
20210115224919-2021-01-15

Hello World

新建文件夹,然后打开vscode,选择该文件夹->打开文件夹。然后新建一个hello.go文件,输入如下代码:

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Println("Hello world!")
}

直接运行的话,会报错:go: cannot find main module; see ‘go help modules’
主要是由于之前设置过GO111MODULE=on,这使得go默认管理依赖的方式变成了go module模式,即依赖一个go.mod文件,其中描述了项目依赖的包和版本(类似于npm package.json,maven的pom.xml)

而目录中没有go.mod文件,所以go不知道主模块是什么,所以无法编译。

使用命令 go mod init hello 生成一个go.mod文件。

运行代码

在安装好依赖之后,可以直接F5运行Go
20210115230424-2021-01-15
或者使用命令go build hello.go来编译生成hello.exe文件,不过exe文件的运行框会一闪而过,可以加上一个5s的延时。修改代码如下:

1
2
3
4
5
6
7
8
9
10
11
package main

import (
"fmt"
"time"
)

func main() {
fmt.Println("hello world !")
time.Sleep(5 * time.Second)
}

可以在文件夹里找到hello.exe直接运行。
20210115230818-2021-01-15

总结

还是挺好用的,可以试试用Go写一些东西。