前言

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

最近,我们团队乃至我司整个云服务,上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. ES6中的类

    前面的话 大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,这种状态一直延续到了ES5.由于类似的库层出不穷,最终还是在ECMAScri ...

  2. 3.如何安装Apache Spark

    如何安装Apache Spark 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹 ...

  3. 移动玩具[HAOI2008]

    题目描述 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初始的玩 ...

  4. 之前同事问到的一道python题目

    Python面试题 之前同事问了一道Python题目如下,暂时归类为面试题 题目:把类似'123.456'的字符串转换成浮点型数据 方法一: >>> print '{:.3f}'.f ...

  5. github 上传下载代码简单使用

    很长时间,一直认为github很难操作,其实认真学了发现也不是很困难. 主要就3个命令 git clone 建立空间 git push 提交代码,git pull拉取代码. git clone htt ...

  6. Tornado session 插件 pycket 定制时间和时间续租

    功能描述:10分钟用户没有任何操作,跳转到登录页面. 分析:这个功能用session就能实现(由于pycket 的session内容是存储在memcached或者redis里面的.所以,session ...

  7. IntelliJ IDEA javaDoc的使用

    文档注释的风格看个人主要说一下在idea中如何配置和使用快捷的文档注释 1.想像Eclipse一样使用 /**来写文档注释可以通过settings下的Live Templates来设置如下图所示 ja ...

  8. 开机出现Oxc000000e故障的解决方法

    Oxc000000e故障 故障表现:开机时不能正常地登录系统,而是直接弹出图2所示的Oxc000000e故障提示. 原因分析:由于安装或卸载某些比较特殊的软件,往往会对Win7的引导程序造成非常严重的 ...

  9. 野生程序员对.NETFramework 4.0 ThreadPool的理解

    ThreadPool 类 提供一个线程池,该线程池可用于执行任务.发送工作项.处理异步 I/O.代表其他线程等待以及处理计时器. 命名空间:   System.Threading程序集:  mscor ...

  10. JavaScript原型及继承

    一.浅谈原型 首先我们要知道创建对象的方法有两种: 1.通过字面量的方式直接创建 var obj = { name:'baimao', age:21 } 2.通过构造函数创建对象 function P ...