这是Golang教程系列中的第一个教程。本教程介绍了Go,并讨论了选择Go优于其他编程语言的优势。我们还将学习如何在Mac OS,Windows和Linux中安装Go。

介绍

Go也称为Golang是由Google开发的一种开源,编译和静态类型的编程语言。创造Go的关键人物是Rob Pike, Ken Thompson和Robert Griesemer。Go于2009年11月公开发布。

Go是一种通用编程语言,具有简单的语法,并由强大的标准库提供支持。Go闪耀的关键领域之一是创建高度可用且可扩展的Web应用程序。Go还可用于创建命令行应用程序,桌面应用程序甚至移动应用程序。

Go的优点

当有大量其他语言(如python,ruby,nodejs ......)执行相同的工作时,为什么要选择Go作为服务器端编程语言。

以下是我选择Go时发现的一些优点。

语法简单

语法简单明了,语言不会因不必要的功能而膨胀。这使得编写可读和可维护的代码变得容易。

易于编写并发程序

并发是该语言的固有部分。因此,编写多线程程序是件小事。这是由Goroutines和渠道实现的,我们将在即将到来的教程中讨论。

编译语言

Go是一种编译语言。源代码被编译为本机二进制文件。在诸如nodejs中使用的JavaScript之类的解释语言中缺少此功能。

快速编译

Go编译器非常精彩,它的设计从一开始就很快。

静态链接

Go编译器支持静态链接。所有Go代码都可以静态链接到一个大的二进制文件中,并且可以轻松地部署在云服务器中,而不必担心依赖性。

工具

工具在Go中值得特别提及。Go捆绑了强大的工具,可以帮助开发人员编写更好的代码。很少有常用的工具,

  • gofmt - gofmt用于自动格式化源代码。它使用标签进行缩进和空白以进行对齐。
  • vet - vet分析go源代码并报告可能的可疑代码。兽医报告的所有内容都不是真正的问题,但它有能力捕获编译器未报告的错误,例如使用Printf时格式说明符不正确。
  • golint - golint用于识别代码中的样式问题。

垃圾回收

Go使用垃圾回收,因此内存管理非常谨慎,开发人员无需担心管理内存。这也有助于轻松编写并发程序。

简单的语言规范

语言规范非常简单。在整个规范适合在一个页面上,你甚至可以用它来写你自己的编译器:)

开源

最后但并非最不重要的是,Go是一个开源项目。您可以参与Go项目并为其做出贡献。

使用Go构建的热门产品

以下是一些使用Go构建的流行产品。

  • Google使用Go开发了Kubernetes(k8s)。
  • Docker是世界着名的容器平台,采用Go开发。
  • Dropbox已将其性能关键组件从Python迁移到Go。

安装

所有三个平台Mac,Windows和Linux都支持Go。您可以从https://golang.org/dl/下载相应平台的二进制文件

苹果系统

从https://golang.org/dl/下载Mac OS安装程序。双击即可开始安装。按照提示操作,这应该在/ usr / local / go中安装Golang,并且还将文件夹/ usr / local / go / bin添加到PATH环境变量中。

Windows

从https://golang.org/dl/下载MSI安装程序。双击以开始安装并按照提示进行操作。这将在位置c:Go中安装Go,并将目录c:Gobin添加到路径环境变量中。

Linux的

从https://golang.org/dl/下载tar文件并将其解压缩到/usr/local。

将/usr/local/go/bin添加到PATH环境变量。这应该在Linux中安装Go。

在下一部分Golang教程第2部分:本系列的Hello World中,我们将设置Go工作区并编写我们的第一个Go程序:)

请提供宝贵的反馈和意见。谢谢阅读。

go环境搭建_学习的golang第一步,搭建我们运行的环境,go! go! go相关推荐

  1. [2014年学习计划之RoR系列] 第一步 - 搭建开发环境

    千里之行始于足下.昨天下午开始我迈出了RoR学习的第一步 - 搭建Ruby on Rails环境. 我现在的主要开发环境是ASP.NET,所以想在Windows上搭建RoR的开发环境.在网上浏览一番, ...

  2. windows phone开发第一步:搭建软件开发环境

    2019独角兽企业重金招聘Python工程师标准>>> windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archi ...

  3. 【tio-core】1、tio-study是学习t-io的第一步

    为帮助第一次使用 t-io 的朋友更快地学习上手 t-io,提供了一个 tio-study 实例项目,快速体验 t-io TCP长连接应用 1.项目地址 https://gitee.com/asurp ...

  4. 零基础学sql要多久_零基础小白如何迈出学习SQL的第一步?文科生学SQL的心得

    本文适用对象:从没接触过编程的零基础小白 首先,判断是否需要学习SQL 学习的第一步:了解SQL的用途. 比如你的目的是处理小量数据,那么excel就能满足需求,且excel简单易学,适用性广,这种情 ...

  5. 大脑比机器智能_机器大脑的第一步

    大脑比机器智能 The race to Artificial Intelligence is a grueling, sweaty marathon that human beings have be ...

  6. 新手入门 | 上链第一步,如何完成XuperChain环境、服务部署

    本文面向零区块链基础入门XuperChain的开发者,介绍了如何部署XuperChain基础可用环境以及XuperChain服务部署基本操作和配置,帮助开发者们快速了解XuperChain部署流程和基 ...

  7. 服务器内存一般多大_性能调优第一步,搞定服务器硬件选型

    服务器选型是Linux性能调优的第一步. 无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置. 我们需要从不同角度.多个方面来决定选择一台什么样的服务 ...

  8. 平台搭建_记一次CTFd平台搭建

    CTFd环境搭建指南 前言 学校要承办市赛的网络安全赛项,要求要稳定的平台,所以这一次我选择了CTFd作为本次比赛的环境.(以前内部比赛用过H1v1,偶尔会出现500的报错.)之前看到过赵师傅写的CT ...

  9. anaconda的python环境变量_装了anaconda之后如何设置anaconda、python环境变量

    装了anaconda之后如何设置anaconda.python环境变量 1.装了anaconda之后如何设置anaconda环境变量 参考 https://www.cnblogs.com/avivi/ ...

最新文章

  1. MySQL Online DDL的改进与应用
  2. leetcod003 Longest_Substring_Without_Repeating
  3. Linux系统编程@文件操作(一)
  4. 云网融合 — 基于 SD-DCA 的云接入网络融合
  5. Cloud Programming Simplifie : A Berkeley View on Serverless Computing
  6. 算法设计棋盘覆盖问题c语言,棋盘覆盖问题(用分治法求解)
  7. 2017.8.30 elasticsearch-sql的安装与使用
  8. 牛刀小试Oracle之ORACLE 11GR2 RAC安装配置--检测GI软件是否正常(三)
  9. MFC小笔记:系统托盘实现
  10. JAVA敏捷开发环境搭建
  11. mysql高级操作_MySQL数据库的高级操作
  12. python复杂网络分析_科学网—复杂网络分析库NetworkX学习笔记(3):网络演化模型 - 闫小勇的博文...
  13. 百分比函数用计算机怎么设置,excel怎么自动计算百分比 excel百分比公式怎么输入...
  14. Linux下的C编程(一)你好 世界
  15. creator owner是什么用户_并发系列-到底什么重量级锁?
  16. 邮件解析引擎FastMail库大功告成!
  17. [NOIP模拟赛]棋子游戏
  18. 西门子官网下载Eplan部件库
  19. 电影票房预测-kaggle项目Python项目
  20. Unity日历组件制作

热门文章

  1. Spring Cloud Netflix尤里卡
  2. Vaadin和DukeScript中的Hello World
  3. Eclipse的Mockito模板
  4. 用Java递增Map值的最有效方法–仅搜索一次键
  5. 使用AspectJ审计Spring MVC Webapp。 第2部分
  6. MOXy是GlassFish 4中新的默认JSON绑定提供程序
  7. 在基于图论的Java程序中基于DSL的输入图数据的方法
  8. JUnit与EasyMock合作
  9. MapReduce:处理数据密集型文本处理–局部聚合第二部分
  10. 基于JavaFX的SimpleDateFormat演示程序