go语言之 go简介及go开发工具安装

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了go语言之 go简介及go开发工具安装脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Go 语言之 开发工具

目录
  • 一:Go语言介绍
    • Go 语言是什么
    • Go语言优势
    • Go 适合用来做什么
  • 二:Go语言开发环境和工具
    • go语言编译器安装
      • 安装
      • 设置和修改环境变量
    • 安装vscode
  • 三 vs加载goproject项目,下载go扩展
  • 四:编写和打包第一个GO程序
    • 编写程序
      • 运行程序
      • 运行程序方法一:(使用扩展code runner)
      • 运行程序方法二:(脚本方式运行)
      • 运行程序方法三(对程序脚本打包)
      • 运行程序方法四(对程序所在目录打包)
  • 五 附录
    • GOPATH路径不生效
    • 调整vscode的字体大小

一:Go语言介绍

Go 语言是什么

2009年11月10日,Go语言正式成为开源编程语言家庭的一员。

Go语言(或称Golang)是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产效率,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

开发人员在为项目选择语言时,不得不在快速开发和性能之间做出选择。C和C++这类语言提供了很快的执行速度,而 Ruby 和 Python 这类语言则擅长快速开发。Go语言在这两者间架起了桥梁,不仅提供了高性能的语言,同时也让开发更快速。

Go语言优势

  • 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。

  • 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。

  • 语言层面支持并发,这个就是Go最大的特色,天生的支持并发。Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。

  • 内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC(内存垃圾回收机制)不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。

  • 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

  • 丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。

  • 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。

  • 跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。

  • 内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。

Go 适合用来做什么

  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

  • 分布式系统,数据库代理器等。

  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。

  • 内存数据库,如google开发的groupcache,couchbase的部分组建。

  • 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。

二:Go语言开发环境和工具

go语言编译器: 官方地址:https://golang.google.cn/dl/

链接:https://pan.baidu.com/s/1twRPDRR_oKyfxQhwKqk1ag?pwd=20n2 提取码:20n2

VSCode:

链接:https://pan.baidu.com/s/1WWfdqU1nvNJJDxnFLCHEXw?pwd=4e9c 提取码:4e9c

go语言编译器安装

安装

安装,只要注意 go 的安装路径,其他全部默认,点击下一步即可

go语言之 go简介及go开发工具安装

安装完毕后,进入到go 的安装路径。在安装目录下,有个bin 目录,这个go的命令存放目录

go语言之 go简介及go开发工具安装

设置和修改环境变量

在自己想要的位置,新建文件夹goproject ,用于存放项目。在goproject 文件夹下,新建文件夹src ,用于存放源码

go语言之 go简介及go开发工具安装

右击此电脑---->属性----->高级设置--->环境变量

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

在用户变量中,有GOPATH,这里定义的路径,是我们扩程序下载存放的目录。 以及在PATH 路径中,定义了go的执行文件,路径。

这两个我们都要删除

go语言之 go简介及go开发工具安装

新建系统变量。变量名: GOROOT ,变量值:go的安装目录

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

修改Path 路径,将go 的安装目录下的 bin 目录,加入到Path路径中

go语言之 go简介及go开发工具安装

****

go语言之 go简介及go开发工具安装

新建系统变量GOPATH,这个是go的环境变量,设置项目,源码的存放路径。变量名为GOPATH ,变量值为新建的goproject目录的位置

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

使用win+r ,输入 cmd ,打开windows的命令行

使用go version 查看go 版本,如果能够看到go 的版本号,说明path 路径生效

go语言之 go简介及go开发工具安装

使用go env 能够查看到go的环境变量。此时可以看到GOPATH和GOROOT的值都是我们之前设置的

go语言之 go简介及go开发工具安装

set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:UsersAdministratorAppDataLocalgo-build
set GOENV=C:UsersAdministratorAppDataRoaminggoenv
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=F:goprojectpkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=F:goproject
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:Program FilesGo
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:Program FilesGopkgtoolwindows_amd64
set GOVCS=
set GOVERSION=go1.17.8
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:UsersADMINI~1AppDataLocalTempgo-build3145478798=/tmp/go-build -gno-record-gcc-switches

安装vscode

安装

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

在安装完毕,启动进入后,可以选择安装中文包

go语言之 go简介及go开发工具安装

三 vs加载goproject项目,下载go扩展

文件--->打开文件夹(Open Folder....)--->找到 goproject目录---->打开文件夹

此时会自动加载src文件夹

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

点击左侧的扩展,然后搜go ,安装GO

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

回到资源管理,选中src,然后点击新建文件夹,文件夹名,如dev_code

go语言之 go简介及go开发工具安装

然后继续选中,在dev_code下继续创建文件夹,如day1,然后继续选中,创建文件夹example1.

此时,创建的文件依次递进。在目录goproject 的src 目录下,也会依次生成目录

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

在example1 目录先,新建文件 text.go ,文件需要以 .go 扩展名结尾

创建完毕后,会跳出弹窗,要求下载 go扩展。 但是因为是从github上下载,所以不一定会成功。此时需要配置代理

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

go 的代理地址网站:https://goproxy.io/zh/

go语言之 go简介及go开发工具安装

打开环境变量设置,新建系统变量

变量名: GOPROXY

变量值:https://proxy.golang.com.cn,direct

go语言之 go简介及go开发工具安装

设置完代理后,关闭vscode,重新打开,然后会再次弹出下载go扩展,点击下载全部install all

go语言之 go简介及go开发工具安装

此时,在输出 栏,会告诉你 下载一下的插件

go语言之 go简介及go开发工具安装

需要看到All tools successfully installed. You are ready to Go :). 才下载完毕。如果有扩展没有下载下俩,可以关闭vscode,然后重新打开,会自动弹出对话框,要求下载,然后重新下载即可

go语言之 go简介及go开发工具安装

如果go扩展插件下载,出现报错Error:无法解析不存在的文件 ,可以不用管它,只要最终出现All tools successfully installed. You are ready to Go :).即可

go语言之 go简介及go开发工具安装

四:编写和打包第一个GO程序

编写程序

在test.go中,编写以下程序(输出hello world)

// 定义一个包,每个go文件都要归属于一个包
package main

//导入工具包,可以使用包中的方法,函数。实现相关的功能
//输出语句,属于fmt 包
import (
	"fmt"
)

// 定义运行的主函数(每个程序都有主函数,是程序的唯一的入口。入口有且只有一个,出口可以有多个)
//函数名不可以乱写,必须是main
func main() {
	//使用fmt包里的Println功能。print打印, ln 表示自动转行的功能
	fmt.Println("hello world")
}

go语言之 go简介及go开发工具安装

然后,按ctrl +s 保存。或者在 文件--->保存

go语言之 go简介及go开发工具安装

运行程序

运行程序方法一:(使用扩展code runner)

扩展--->搜索code runner --->安装coderunner扩展

go语言之 go简介及go开发工具安装

安装完毕后,返回test.go,页面,点击右上角的三角符号,运行程序。

go语言之 go简介及go开发工具安装

运行程序方法二:(脚本方式运行)

在终端,以脚本的方式运行

go语言之 go简介及go开发工具安装

进入到脚本所在的目录

cd .srcdev_codeday1example1
ls

 go run .text.go

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

运行程序方法三(对程序脚本打包)

将脚本进行构建成程序,然后运行程序

go build .srcdev_codeday1example1text.go
ls
.text.exe

go语言之 go简介及go开发工具安装

运行程序方法四(对程序所在目录打包)

当一个目录下有多个脚本文件时,我们可以直接对目录进行构建

// 对example1 目录进行构建
go build .srcdev_codeday1example1

对整个目录构建,报错go: go.mod file not found in current directory or any parent directory; see 'go help modules'

go语言之 go简介及go开发工具安装

Package包波浪线说明:这是因为gomod和gopath两个包管理方案,并且相互不兼容

即使项目在GOPATH 定义的路径中,GO111MODULE=on 仍然强制使用Go模块。仍然需要go.mod才能正常工作

go语言之 go简介及go开发工具安装

go env

//获取到的环境变量如下

set GO111MODULE=on
set GOARCH=amd64  
set GOBIN=
set GOCACHE=C:UsersAdministratorAppDataLocalgo-build
set GOENV=C:UsersAdministratorAppDataRoaminggoenv  
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=F:goprojectpkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=F:goproject
set GOPRIVATE=
set GOPROXY=https://proxy.golang.com.cn,direct
set GOROOT=C:Program FilesGo
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:Program FilesGopkgtoolwindows_amd64
set GOVCS=
set GOVERSION=go1.17.8
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:UsersADMINI~1AppDataLocalTempgo-build3492386364=/tmp/go-build -gno-record-gcc-switches

此时,我们可以关闭GO111MODULE

go语言之 go简介及go开发工具安装

go env -w GO111MODULE=off
go env
//获取到的go 环境变量如下
set GO111MODULE=off
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:UsersAdministratorAppDataLocalgo-build
set GOENV=C:UsersAdministratorAppDataRoaminggoenv
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=F:goprojectpkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=F:goproject
set GOPRIVATE=
set GOPROXY=https://proxy.golang.com.cn,direct
set GOROOT=C:Program FilesGo
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:Program FilesGopkgtoolwindows_amd64
set GOVCS=
set GOVERSION=go1.17.8
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:UsersADMINI~1AppDataLocalTempgo-build2414259400=/tmp/go-build -gno-record-gcc-switches

注意,项目要在GOPATH定义的目录中

再次构建整个目录

go build .srcdev_codeday1example1
ls
 .example1.exe

go语言之 go简介及go开发工具安装

五 附录

GOPATH路径不生效

即使我们在系统变量里设置了GOPATH的路径,但是依旧不生效,使用go env 查看,获取到的结果也不是我们定义的

这是因为go 默认在用户 环境设置里 定义 GOPATH,并且,也在用户环境变量里 定义了PATH路径。这会覆盖系统变量。 我们需要 删除 用户环境设置里的 GOPATH以及用户环境变量里PATH变量里go 的那一部分

go语言之 go简介及go开发工具安装

调整vscode的字体大小

文件--->首选项---->设置---->Font Size

go语言之 go简介及go开发工具安装

go语言之 go简介及go开发工具安装

脚本宝典总结

以上是脚本宝典为你收集整理的go语言之 go简介及go开发工具安装全部内容,希望文章能够帮你解决go语言之 go简介及go开发工具安装所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。