前言

学习任何知识都会有一个学习背景

最近,我们团队乃至我司整个云服务,上go的呼声越来越高!新服务已经开始用go开发,部分现有Java版的服务重构为go也只是时间问题而已,故相关技术积累势在必行!在云网络的分布式服务乃至在一切高并发,分布式后台服务中,golang都有着很大的优势。

据我对国内互联网行业的实际考察,了解,目前国内主流互联网公司都在积极投入go的怀抱……

青云更是全栈使用了go……

还有火的一塌糊涂的docker。

它为云而生。

它为并发而生。

还有go的安全、简洁、高效

有良好的Java、C/C++背景,拿起go很容易。

……

参考:

2017年值得学习的三大编程语言

2017年编程语言排行榜,相比2016,go的飞速上升趋势很明显。而Java有很大份额的缩减……

当然,当前在企业级应用开发中,Java依然占有一席之地。

而个人认为:一个优秀的研发工程师乃至架构师……是不能仅仅局限于一门语言的,语言只是拿来就用的工具,关键还是实战经验和行业内功的修炼。但是对于任何编程语言,不学也不是凭空就会的。

简单说go的历史和应用

历史和概况

Go语言是一个年轻的语言,是Google在2009年发布的第二款开源的编程语言,它是编译型语言,专门针对多处理器系统应用程序的编程进行了优化,因此使用Go编译的程序可以媲美C或C++代码的速度。
go还具有类似Java的垃圾回收机制,且实现了数组安全……故go有机的结合了Java和C/C++,使其本身更加安全、高效的同时还天然支持并行进程。
可以说,go是为并发而生的! 既然它是为并发而生,那么在编写高并发程序时,go写起来也十分简洁。

目前流行的go应用

1、Go语言的杀手级应用就是Docker,Docker应该大家都知道,目前在国内火的一塌糊涂
2、Codis,一种Redis的集权解决管理方案,很大部分go开发,由豆瓣推出。
3、
Glow,类似Hadoop,也是一种大数据处理框架,性能非常好,是Hadoop的go的实现。
 
4、
Cockroach数据库,译作蟑螂……意味着该数据库的生存能力很强,是高稳定性业务环境的首选数据库之一
 

……

go的开发环境搭建

可以选择源码安装、标准安装包(win下),第三方工具安装(brew,install,yum等)。
如果是win,就使用标准包。官网有下载地址。
推荐第三方工具安装,简单。
比如Mac下的Homerbrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装go

brew install go

看安装成功之后的提示就能知道,go的运行需要一个环境变量——GOPATH,是go中非常重要的一个环境变量,必须配置好,假如不配,那么安装go的一些工具,或者自己写的包,就会出问题。当然还有GOROOT。

PS:其实在目前的go版本中,这些环境变量已经在安装的时候默认被配置ok了。只需要在机器的环境配置文件中做如下操作即可:

You may wish to add the GOROOT-based install location to your PATH:
export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Summary

互联网世界中的C语言——我的golang学习笔记:1(基础语法快速过)的更多相关文章

  1. 【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!

    C语言/C++编程学习:一个简单的实例 让我们来看一个简单的C语言程序.从下面的程序可以看出编写C语言程序的一些基本特征.   如果你能知道该程序将会在显示器上显示一些内容,那说明你还是知道一些的! ...

  2. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  3. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  4. golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

    golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...

  5. go语言,golang学习笔记4 用beego跑一个web应用

    go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...

  6. go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量

    go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...

  7. go语言,golang学习笔记2 web框架选择

    go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...

  8. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...

  9. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

随机推荐

  1. Redis作为消息队列服务场景应用案例(入队和出队)

    http://www.cnblogs.com/leo_wl/p/3831349.html

  2. OpenFlow协议1.0及1.3版本分析

    OpenFlow是SDN控制器和交换之间交流的协议,在SDN领域有着十分重要的地位. OpenFlow协议发展到现在已经经过了1.0.1.3.1.4等版本.其中1.0和1.3版本使用的是最为广泛的. ...

  3. 微信小程序开发基础知识总结

    微信小程序在无论在功能.文档及相关支持方面,都是优于前面几种微信账号类型,它提供了很多原生程序才有的接口,使得我们的小程序在很多方面突破H5页面应用的限制,更加接近原生程序的功能,因此微信小程序具有很 ...

  4. 走过夏天,我的H5旅程,一路慢行

    <!DOCTYPE html> <!-- 文档类型声明:让浏览器,按照html5的标准对代码进行解释和执行. 文档类型声明必不可少,而且,必须放在文档最上方. 如果不写文档类型声明, ...

  5. 使用语音识别JAVA SDK 的MAVEN源代码制作语音控制智能家居Java APP-------MAVEN工程加载问题解决

    一直想做一个可以录音的可执行JAVA APP,实现自然语言对话. 第一步就是实现把录音转成语义,比如你对着话筒说"你好",你获取回答相应的回复.你对着话筒说"今天的天气& ...

  6. 【Spring】浅谈ContextLoaderListener及其上下文与DispatcherServlet的区别

    一般在使用SpingMVC开发的项目中,一般都会在web.xml文件中配置ContextLoaderListener监听器,如下: <listener> <listener-clas ...

  7. CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)

    安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...

  8. python基础===使用switch方法,减少使用if语句

    def jia(x,y): return x+y def jian(x,y): return x-y def cheng(x,y): return x*y def chu(x,y): return x ...

  9. Hadoop集群时间同步

    0x01 ntp安装 检查时间服务器是否安装 # rpm -q ntp ntp-4.2.4p8-2.el6.x86_64 // 这表示已安装了,如果没有安装,这是空白. //如果没有安装,我们按照下 ...

  10. Kotlin 初窥门径[1]:基础概念

    Kotlin 是由 JetBrains 开发的基于JVM的语言.JetBrains 因为创造了一个强大的Java开发 IDE(Intellij) 而被大家所熟知.Android Studio 就是基于 ...