搭建Go语言开发环境,Hello World

Go语言简介

Go语言是一门开发语言,又称GoLang,是Google公司于2009 年首次推出并在 2012 年正式发布的一种编
程语言。Google 对 Go 寄予厚望,其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助开发者处理琐碎但重要的内存管理问题。Go 的速度也非常快,几乎和 C 或 C++ 程序一样快,且能够快速开发应用程序。

Go语言是由3位大师级的程序员[Robert Griesemer(开发了Java HotSpot虚拟机和js v8引擎), Rob Pike(Unix早期开发者,UTF-8创始人), Ken Thompson(B和C语言设计者、Unix和Plan 9创始人、1983年图灵奖获得者)所设计创造的,可谓是师出名门,又有谷歌公司持续背书。经过10余年的发展,Go语言在2018年已经变成了不可阻挡的一门流行的编程编程语言。在当前这个时间点,如果你还不了解Go,证明你已经out了。

Go官网

Go语言的官方网站是 www.golang.org,但是因为被墙,这个网站在中国境内是访问不的。

有替代的官网:golang.google.cn,可以在此网站进行下载Golang的安装包。

另有不少的中文学习网址,大家可自行搜索即可

搭建环境

第一步 安装Golang

在https://golang.google.cn/dl/相应下载自己操作系统版本的相应的安装包,进行安装即可。

目前go语言已经出到1.12.5,在1.8版本之前需要安装者手工的设置相应的GoPath及GoRoot等环境变量,但是最新版本已经不再需要了,直接安装即可。

安装完毕后,在命令行使用

go version

在笔者的mac上显示如下,即为安装成功

> go version go1.12.5 darwin/amd64

在命令行使用以下命令查看相应的安装目录及环境变量设置情况

go env

显示如下,其中GOROOT 为GoLang的安装目录,GoPATH为Golang的工作目录(GoLang开发的很多工具要安装在此目录下)

GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/frog3/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/frog3/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/86/x5qmjmpj3hq03wxxfmf95f0m0000gn/T/go-build701888979=/tmp/go-build -gno-record-gcc-switches -fno-common"

第二步 编写一个Hello World

有了GoLang其实就可以开始写代码了。先建立一个文件hello.go,内容如下

package main

import "fmt"

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

命令行执行如下

# 编译程序,编译出hello程序
go build hello.go
# 执行如下命令
./hello

命令行会打印如下:

Hello World!

恭喜你,你已经完成了一个Go语言程序的编写。

第三步 安装IDE- VS Code

在现实世界中,我们使用记事本或者vim来编写程序的情况还是少数,因此为了提高效率,安装一个Go语言的IDE还是有必要的。

Golang的开发IDE非常丰富,Eclipse体系的Goclipse、Atom配合GoLangPlus插件、JetBrains出品的Gogland,都是很不错的IDE,选用什么样的IDE并不重要,习惯就好了。

笔者选用的Visual Studio Code,因为其轻巧,免费,最新版本已经自带了Go语言插件,支持中文。

下载地址:https://code.visualstudio.com/

安装VS code过程不赘述,如果你下载的版本没有带默认的Go语言插件的话,可以采用手动安装Go插件即可,注意最新的Go语言的插件已经变成了微软出品了,安装最新的版本即可。

处理GoLang的工具安装被墙问题

需要注意的是安装的Go语言的插件显示安装成功后,通常在右下角会出现[Analysis Tools Missing]的字样.

这是因为Go开发插件,默认还要安装一些Go语言的开发依赖工具,举例如下,

godebug debug
Gocode 自动完成上下文
GoDoc go doc
goLint 代码质量检测
go-outline 文件大纲
goFormat 自定义配置格式样式

但是这些依赖工具大部分在 golang.org,如前文所述,此网站被墙,会安装失败。现象就是在右下角会出现[Analysis Tools Missing]的字样,即使你按照提示选择重新安装,也依旧会安装失败,可以遵循以下方案来处理这些报错。

以其中的golint为例,其安装报错字样类似如下

Installing golang.org/x/lint/golint FAILED

1 tools failed to install.

golint:
Error: Command failed: /usr/local/go/bin/go get -u -v golang.org/x/lint/golint
Fetching https://golang.org/x/lint/golint?go-get=1
https fetch failed: Get https://golang.org/x/lint/golint?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/lint/golint: unrecognized import path "golang.org/x/lint/golint" (https fetch: Get https://golang.org/x/lint/golint?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
Fetching https://golang.org/x/lint/golint?go-get=1
https fetch failed: Get https://golang.org/x/lint/golint?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/lint/golint: unrecognized import path "golang.org/x/lint/golint" (https fetch: Get https://golang.org/x/lint/golint?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

如上所示,系统执行了go get -u -v golang.org/x/lint/golint 命令来安装lint工具, 但是无法从golang.org处下载到。

幸运的是相应的工具在https://github.com/golang上都有相应的源码,我们可以将其源码下载到$GOPATH下的scr目录下,GoLang就不用下载相应工具而可以直接安装了。

# 在$GOPATH下创建相应的目录$GOPATH/src/golang.org/x/
> cd $GOPATH/src/golang.org/x/
> git clone https://github.com/golang/lint.git

# 下载完成后,就可以不用get命令,而直接安装即可
go install golang.org/x/lint/golint

大部分的工具都在tools工程下,使用以下命令下载就好了。

> cd $GOPATH/src/golang.org/x/
# 下载相应的tools
> git clone https://github.com/golang/tools.git

然后再根据相应的报错提示把go get -u -v golang.org/x/xxxx/xxxx 改为 go install golang.org/x/xxxx/xxxx即可

处理完这些之后,右下角的报错不会再出现了,证明vs code已经完全安装了,可以愉快地撸代码。

你可以把你把步骤二的代码使用vs code再做一遍。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值