文章目录

  • Golang的诞生
  • Golang的核心开发团队
  • Golang里程碑
  • Golang应用领域
  • 使用Golang开发的项目
  • 环境搭建
    • Golang SDK下载及安装
    • Golang IDE下载及安装
      • Goland下载及安装
      • 首次使用Goland
      • 通过Goland创建一个HelloGolang项目

Golang的诞生

  • 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。
  • 软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。
  • 企业运行维护很多c/c++的项目,C/C++程序运行速度虽然很快(因为采用静态编译),但是编译速度却很慢,同时还存在内存泄露的一系列困扰需要解决。

Golang的核心开发团队

  • Ken Thompson(肯·汤普逊):1983年图灵奖、1998年美国国家技术奖得主,他与Dennis
  • Ritchie是Unix系统的原创者。Thompson也发明了C语言、B语言,同时也是C语言的主要发明人。
  • Rob Pike(罗布·派克): 加拿大人,曾是贝尔实验室的Unix团队和Plan 9操作计划的成员。他与Thompson公事多年,并共创出广泛使用的UTF-8字元编码。(ps:Go语言的图标-gopher 囊地鼠,是Rob Pike老婆制作的)

Golang里程碑

  • 2007年,谷歌工程师Ken Thompson、Rob Pike、Robert Griesemer开始设计一门全新的语言,这是Go语言的最初原型
  • 2009.11.10 ,Google将Go语言以开放源代码的形式向全球发布。
  • 2015年8月19日 ,Go1.5版本发布,本次更新中移除了“最后残余的C代码”,请内存管理方面权威专家Rick
  • Hudson对GC进行重新设计(重要的修正)
  • 2017年2月16日 , Go1.8版本发布
  • 2017年8月24日 , Go1.9版本发布
  • 2018年2月16日 , Go1.10版本发布
  • 2018年8月24日 , Go1.11版本发布
  • 2019年2月25日 , Go1.12版本发布
  • 2019年9月03日 , Go1.13版本发布
  • 2020年2月25日 , Go1.14版本发布
  • 2020年8月11日 , Go1.15版本发布
  • 2021年2月16日 , Go1.16版本发布

Golang应用领域

  • 区块链应用

    • 区块链技术,简称BT(Blockchain technology),也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化,公开透明,让每个人均可参与数据库记录。
  • 后台服务器应用
    • 美团后台流量支撑程序 支撑主站后台流量(排序,推荐,搜索等),提供负载均衡,cache,容错,按条件分流,统计运行指标(qps,latency)等功能
    • 京东消息推送云服务/京东分布式文件系统 应用范围:后台所有服务全部用Go实现
  • 云计算/云服务后台应用
    • 盛大云CDN(内容分发网络)应用范围:CDN的调度系统、分发系统、监控系统、短域名服务,CDN内部开放平台、运营报表系统以及其他一些小工具等

使用Golang开发的项目

  • Docker

    • Docker 是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器。Docker 可以在一台物理服务器上快速运行一个或多个实例。例如,启动一个 CentOS 操作系统,并在其内部命令行执行指令后结束,整个过程就像自己在操作系统一样高效。
  • Go语言
    • Go语言自己的早期源码使用C语言和汇编语言写成。从 Go 1.5 版本后,完全使用Go语言自身进行编写。Go语言的源码对了解Go语言的底层调度有极大的参考意义,建议希望对Go语言有深入了解的读者读一读。
  • Kubernetes
    • Google 公司开发的构建于 Docker 之上的容器调度服务,用户可以通过 Kubernetes 集群进行云端容器集群管理。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是 Container Pod(容器仓)。
  • etcd
    • 一款分布式、可靠的 KV 存储系统,可以快速进行云配置。由 CoreOS 开发并维护键值存储系统,它使用Go语言编写,并通过 Raft 一致性算法处理日志复制以保证强一致性。

环境搭建

Golang SDK下载及安装

  1. 进入Golang官网下载适合自己系统的SDK,我这里使用的是Windows系统,所以下载的版本就为go1.17.1.windows-amd64.msi

  2. 下载成功后,运行安装程序进入Golang SDK欢迎界面,点击Next

  3. 阅读完协议后,选中我接受许可协议中的条款,点击Next

  4. 选择安装目录(默认路径即可),点击Next

  5. 确认安装

  6. 安装成功后,点击Finish完成安装

  7. 测试Golang SDK是否安装成功
    Win+r键盘输入cmd打开控制台程序,输入go version命令查看Golang SDK版本,如果成功输出表示已经成功安装

    注意:一般通过安装程序(.msi)都会默认在环境变量中添加GOPATH(用于存放Golang的项目目录),并在Path中添加Golang安装目录下的bin目录

    如果通过zip方式安装Golang SDK需要手动将如上配置添加至环境变量,否则在cmd输入go version将会无法输出Golang版本信息

Golang IDE下载及安装

常见的Golang IDE有

  • Goland

    • Goland,商业公司jetbrains 近两年推出的 Go 集成开发环境,相信很多程序都用过他们家的IDE,比如Java的 Intellj IDEA、PHP的PHPStorm、Python的PyCharm、C++的CLion、前端的WebStorm等。使用JetBrains的IDE,我们可以享受到它优秀的开箱即用的体验和 jetbrains 积累十几年的插件体系。
  • VS Code
    • 由微软开发的一款功能强大的现代化轻量级代码编辑器IDE,免费开源。通过它强大的插件扩展能力,VS Code几乎支持主流语言的项目开发。毫无例外,GO也是其中之一。
  • Vim GO
    • 细究起来,vim应该是一款文本编辑器,但它却拥有了很多不该属于文本编辑器的能力,比如单词补全、ctags标签跳转、窗口分隔、崩溃文件恢复、文件diff、400多种文本高亮等。最重要的一点是,vim有一套自己的脚本语言,这为它通过插件扩展自己的能力提供了可能。

Goland下载及安装

  1. 进入Goland官网,点击Download进入下载页面
  2. 下载成功后,运行安装包进入欢迎界面,点击Next
  3. 选择安装位置,点击Next
  4. 安装选项(创建快捷方式、添加到环境变量),按照个人方式选择,点击Next
  5. 安装成功后(我暂时不重启),点击Finish

首次使用Goland

由于Goland需要收费,所以首次运行时会出现以下界面,我们点击Evaluate for free,进去免费评估版试用。


点击Continue,进入Goland

当然你也可以点击此处,注册学生版、开源组织、大学教育机构版

通过Goland创建一个HelloGolang项目

一般情况下,我们会创建一个工程文件,工程文件中一般包含

  • src

    • 存放源代码
  • bin
    • 存放编译好的文件
  • pkg
    • Golang依赖库文件

进入Goland,点击New Project创建一个项目


双击工程文件夹,打开src目录,右键创建一个Hello文件夹,并在文件夹中创建一个HelloGolang.go文件,来写来我们的第一个Golang程序。

写下如下代码

package mainimport "fmt"func main() {fmt.Println("hello golang")
}


由于我们使用的Golang版本大于1.11,所以我们需要添加go.mod1文件


保存成功后,添加Golang运行/调试配置

添加成功后,点击Run按钮,查看运行结果

可以看到,我们的程序已经成功的Run起来了。至此我们的Golang开发环境已经全部搭建完成,接下来就开启你的Golang之旅吧~


  1. Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。
    Go.mod其实就是一个Modules,关于Modules的官方定义为:
    Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性。Modules替换旧的基于GOPATH的方法,来指定使用哪些源文件。
    Modules和传统的GOPATH不同,不需要包含例如src,bin这样的子目录,一个源代码目录甚至是空目录都可以作为Modules,只要其中包含有go.mod文件。 ↩︎

Golang开发环境搭建相关推荐

  1. Golang开发环境搭建-Vim篇

    Golang开发环境搭建-Vim篇 转自:http://tonybai.com/2014/11/07/golang-development-environment-for-vim/ 虽说sublime ...

  2. Linux下golang开发环境搭建

    对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...

  3. golang 开发 环境搭建

    1. 操作系统以及golang安装 使用操作系统redhat7.2 x86_64为,将golang解压后拷贝到/usr/local/目录下,通常目录将是这个样子: /usr/local/go/bin ...

  4. linux下搭建golang开发环境

    golang语言生态学习 第二天:linux环境下golang开发环境搭建 文章目录 golang语言生态学习 前言 一.golang源码包下载 二.安装golang源码包 1.解压源码包到根目录 2 ...

  5. vscode中为golang开发环境配置代理goproxy

    和 npm . pip 等包管理工具一样,你的包都是从网上拉去到本地,然而,由于国内网络的原因,这些工具 你都得换国内代理,要不然下载很慢或直接失败. 这篇文章所讲的 为golang开发下载插件(开发 ...

  6. Sublime Text 3 搭建 Golang 开发环境(记录我遇到的问题)

    准备 go 已经安装完成(https://golang.org/ 自行下载安装) sbulime3 已经安装完成(http://www.sublimetext.com/3自行下载与安装) go env ...

  7. vscode中搭建Golang开发环境(图文并茂)

    vscode中搭建Golang开发环境 第一步 下载Go安装包,地址:Go语言中文网,安装完成后的目录如下: 通过命令行查看当前版本: 第二步 配置环境变量,新建两个环境变量,如下: 其他平台的配置, ...

  8. go语言android开发环境搭建,golang开发android应用(一) - go语言android应用环境搭建...

    基于golang的android动态库开发,很久以前golang就支持开发android上的动态库及应用了,golang的环境搭建就不说了,直接从gomobile开始 软件依赖 golang, gom ...

  9. golang ide 环境搭建_Golang 入门 : 打造开发环境

    工欲善其事,必先利其器!在学习和使用 Golang 时如果有一款得心应手的 IDE,相信一定可以事半功倍.虽然很多 IDE 都提供了对 Golang 的支持,但真正好用的没几个.VSCode 算是不错 ...

最新文章

  1. 软测培训机构哪个比较好
  2. div置于页面底部_浏览器渲染页面的原理及流程
  3. 最近工程师怎么都在写公众号?这玩意到底能赚多少钱?
  4. win10 HADOOP_HOME and hadoop.home.dir are unset
  5. python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
  6. OpenShift Security 16 - 用 RHACS 为加固应用镜像安全提供线索
  7. ListView gridivew.setOnItemClickListener无效
  8. 初级web前端必会知识点:HTML部分,看看你都会吗?
  9. Hex Workshop(16进制编辑利器) 6.7.2绿色版
  10. 判断一个图是否有环(有向图,无向图)
  11. [译] JAVA初学者的30个常见问题
  12. RGB数据剪切后保存为JPG格式文件的代码(使用jpeglib)
  13. Java枚举enum使用及相关的操作
  14. Gensim库的使用——Word2vec模型(二)训练自己的模型与训练参数
  15. 基于蓝墨云班课的翻转课堂实践
  16. 你还在用命令看日志?快用 Kibana 吧,一张图片胜过千万行日志!
  17. 卖油的都开始卖菜了,打败你的往往不是对手
  18. vs code进行c/c++开发
  19. 普通运维人员就是秋后的蚂蚱!
  20. 鸿蒙系统下拉菜单,华为鸿蒙系统官方

热门文章

  1. 怎么更改计算机 盘符名称,怎么更改盘符,windows修改盘符方法
  2. 初识ELF格式 ABI,EABI,OABI
  3. 模4补码(也称为变形补码)详解
  4. traceroute 安装及使用
  5. python控制机器人走直线_python程序控制NAO机器人行走
  6. 为什么计算机不显示桌面工具栏,word菜单栏不见了-电脑任务栏显示桌面图标不见了怎么办...
  7. 什么是工作流管理系统?
  8. L1 distace、L2 distance,L1 norm、L2 norm,L1、L2范数
  9. 项目管理中,管理者如何打造团队执行力?
  10. FreeBbs论坛社区APP源码