GO

GO 基本概念

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer(罗伯特·格利茨默),Rob Pike(罗伯·派克),Ken Thompson(肯·汤普森)主持开发,后来还加入了 Ian Lance Taylor(伊恩·兰斯·泰勒),Russ Cox(鲁斯·考斯)等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

最近十年来,C/C++咋计算领域没有得到很好的发展,并没有新的系统编程语言出现。对开发程度和系统效率在很多情况下不能兼得。要么执行效率高,但抵效的开发和编译,如C++;要么执行低效,但拥有有效的编译,如.NET、Java;所有需要一种拥有较高效的执行速度、编译速度和开发速度的编程语言,Go就横空出世了。

传统的语言比如C++,大家花费太多的时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写——编译——运行这个链条来说周期太长。动态语言如python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。

  • 人力成本越来越高
  • 机器越来越便宜
  • 机器的性能越来越厉害
  • 在开发效率和运行速度上达到平衡

go出现之前,无论汇编语言、还是动态脚本语言,在执行效率和开发效率上都不能兼备。

执行效率 execution speed: C/C++ >Java > PHP

开发效率 developing efficiency: PHP > Java > C/C++

一家叫做Docker的公司。就是使用Go 进行项目开发,并促进了计算机领域的容器行业,进而出现了像kubernetes这样的项目。现在,我们完全可以说Go是容器语言。

除了大名鼎鼎的Docker,完全用Go实现。业界最为火爆的容器编排管理系统kubernetes完全用Go实现。之后的Docker Swarm,完全用Go实现。除此之外,还有各种有名的项目,如etcd、consul、flannel,七牛云存储等等均使用Go实现。Go语言促使了云的发展。

除了云项目外,还有像今日头条、Uber这样的公司,他们也使用Go语言对自己的业务进行了彻底的重构。

Go语言专门针对对处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C/C++代码的速度,而且更加安全、支持并行进程。作为出现在21世纪的语言,其近C 的执行性能和近解析性语言的开发效率,以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发。

Go 语言用途

Go语言被设计成一门应用于Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言四再好不过了。

Go 开发环境部署

安装 Go

官网下载地址: https://golang.google.cn/dl/

包 go1.17.8.windows-amd64:

链接:https://pan.baidu.com/s/1KeQDcMyexZSWq3Mifjd8-A
提取码:q7oz

包下载完成后,点击安装,一直点击下一步即可

找到它所在的安装路径,配置环境变量

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

GOROOT="go程序工作目录"

想要使用go的命令,把C:\Program Files\Go\bin 添加到系统环境变量中

系统环境变量PATH添加%GOROOT%\bin

E盘下创建 goproject 文件 --> 创建 src文件,添加到系统环境变量中

GOPATH="go项目目录"

 

添加代理地址

Go语言代理工具

代理网站:https://goproxy.io/zh/

# 配置 GOPROXY 环境变量
$env:GOPROXY = "https://proxy.golang.com.cn,direct"
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
$env:GOPRIVATE = "git.mycompany.com,github.com/my/private"

配置环境变量

设置完以上几个环境变量后,您的go 命令将从公共代理镜像快速拉取你所需的依赖代码了。或者,还可以根据文档进行设置使其长期生效。如果您使用的是老版本的Go(<1.13),我们建议您升级为最新稳定版本。

安装开发环境 VScode

VSCodeUserSetup-x64-1.64.2

链接:https://pan.baidu.com/s/1M3P1vg6Xh2LQ3JiMhAekLw
提取码:zmof

选择创建快捷方式,其他保持默认即可

运行VScode,安装中文包

打开刚才在E盘创建的go项目的文件夹 goproject

创建文件夹,相应的本地E盘文件夹也会同步

本地查看

安装 Go 插件

编写一个简单的 go 文件,新建文件 test.go,右下角会弹出安装插件提示

最终看到如下字样为成功:

编写 go

//每个go文件都要归属一个包
package main

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

//定义程序运行的主函数(入口有且仅有1个,出口可以有多个)
func main() {
    fmt.Println("hello word")
}

编写完需要运行

安装 code runner 运行插件

运行

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

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

go env -w GO111MODULE=off

在用户变量中删除变量名为GOPATH的变量和

修改用户变量中的 PATH

关闭 VScode,重新打开,会提示让您下载插件,点击下载即可

出现以下 Error 没关系,最后显示 successfully 成功就没问题

之前的test.go删除,用于测试

以目录形式去构建(适用于多个文件)

编译打包为exe文件

go run ./

不产生exe文件,使用脚本方式运行,前提是先进入代码当前目录下执行

 

go run test.go

 

go build dev_code/day1/example1

go build ./

.\example1.exe

 

 

posted @ 2022-03-15 01:47  DoYouWantMore  阅读(312)  评论(0编辑  收藏  举报