go环境搭建_学习的golang第一步,搭建我们运行的环境,go! go! go
这是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相关推荐
- [2014年学习计划之RoR系列] 第一步 - 搭建开发环境
千里之行始于足下.昨天下午开始我迈出了RoR学习的第一步 - 搭建Ruby on Rails环境. 我现在的主要开发环境是ASP.NET,所以想在Windows上搭建RoR的开发环境.在网上浏览一番, ...
- windows phone开发第一步:搭建软件开发环境
2019独角兽企业重金招聘Python工程师标准>>> windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archi ...
- 【tio-core】1、tio-study是学习t-io的第一步
为帮助第一次使用 t-io 的朋友更快地学习上手 t-io,提供了一个 tio-study 实例项目,快速体验 t-io TCP长连接应用 1.项目地址 https://gitee.com/asurp ...
- 零基础学sql要多久_零基础小白如何迈出学习SQL的第一步?文科生学SQL的心得
本文适用对象:从没接触过编程的零基础小白 首先,判断是否需要学习SQL 学习的第一步:了解SQL的用途. 比如你的目的是处理小量数据,那么excel就能满足需求,且excel简单易学,适用性广,这种情 ...
- 大脑比机器智能_机器大脑的第一步
大脑比机器智能 The race to Artificial Intelligence is a grueling, sweaty marathon that human beings have be ...
- 新手入门 | 上链第一步,如何完成XuperChain环境、服务部署
本文面向零区块链基础入门XuperChain的开发者,介绍了如何部署XuperChain基础可用环境以及XuperChain服务部署基本操作和配置,帮助开发者们快速了解XuperChain部署流程和基 ...
- 服务器内存一般多大_性能调优第一步,搞定服务器硬件选型
服务器选型是Linux性能调优的第一步. 无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置. 我们需要从不同角度.多个方面来决定选择一台什么样的服务 ...
- 平台搭建_记一次CTFd平台搭建
CTFd环境搭建指南 前言 学校要承办市赛的网络安全赛项,要求要稳定的平台,所以这一次我选择了CTFd作为本次比赛的环境.(以前内部比赛用过H1v1,偶尔会出现500的报错.)之前看到过赵师傅写的CT ...
- anaconda的python环境变量_装了anaconda之后如何设置anaconda、python环境变量
装了anaconda之后如何设置anaconda.python环境变量 1.装了anaconda之后如何设置anaconda环境变量 参考 https://www.cnblogs.com/avivi/ ...
最新文章
- MySQL Online DDL的改进与应用
- leetcod003 Longest_Substring_Without_Repeating
- Linux系统编程@文件操作(一)
- 云网融合 — 基于 SD-DCA 的云接入网络融合
- Cloud Programming Simplifie : A Berkeley View on Serverless Computing
- 算法设计棋盘覆盖问题c语言,棋盘覆盖问题(用分治法求解)
- 2017.8.30 elasticsearch-sql的安装与使用
- 牛刀小试Oracle之ORACLE 11GR2 RAC安装配置--检测GI软件是否正常(三)
- MFC小笔记:系统托盘实现
- JAVA敏捷开发环境搭建
- mysql高级操作_MySQL数据库的高级操作
- python复杂网络分析_科学网—复杂网络分析库NetworkX学习笔记(3):网络演化模型 - 闫小勇的博文...
- 百分比函数用计算机怎么设置,excel怎么自动计算百分比 excel百分比公式怎么输入...
- Linux下的C编程(一)你好 世界
- creator owner是什么用户_并发系列-到底什么重量级锁?
- 邮件解析引擎FastMail库大功告成!
- [NOIP模拟赛]棋子游戏
- 西门子官网下载Eplan部件库
- 电影票房预测-kaggle项目Python项目
- Unity日历组件制作