go语言学习初体验
Posted 杨建荣的学习笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习初体验相关的知识,希望对你有一定的参考价值。
我们暂时先抛开go语言,咱们说下行业里近两年的哪些技术发展最火,毫无疑问是Docker和Kubernetes,没错,他们是go语言的顶级项目。
go语言在Google内部孵化,并有了很大的用武之地,和作者的权威也是分不开的。三位作者分别是:
Robert Griesemer, Rob Pike 和 Ken Thompson。
Robert在开发Go之前是Google V8、Chubby和HotSpot JVM的主要贡献者;Rob主要是Unix、UTF-8、plan9的作者;Ken主要是B语言、C语言的作者、Unix之父。最后一位可是爷爷辈的,和c语言之父丹尼斯.里奇是一辈的。
我们经常会听到也有叫golang的,其实go语言的全称是:go programming language。
一种解读是:go 这个词太通用了,搜索引擎不能很好辨认,所以习惯叫golang.
一种是较为正统的解读,以下引用自知乎:
我在《代码的未来》一书中看到了关于Go和Golang两种叫法的由来。
书中3.2章节最后一部分写道:
说句题外话,其实在Go出现很久以前,就已经存在一种叫做“Go!”的语言了。由于Google奉行“不作恶”(Don't be evil)的信条,因此网上很多人认为Go应该改名。
话说,语言名称撞车也不是什么新鲜事(用Ruby这个名字的编程语言也有好几个),不过网上有人推荐将Go语言改成Golang或者Issue-9。前者来自Go官方网站的域名( http:// golang.org ),后者则是来自“已经有一个叫Go!的语言了,请改名”这个问题报告的编号。
对于go语言的理解,它不同于 Java,Go是编译生成机器码,并被直接执行,非常类似 C。而Java运行是基于Java虚拟机。
从语言的发展来说:
Java是从1990年的雏形到1995年的正式发行已经过去20多年,期间Java的东家从SUN公司辩称甲骨文公司,后来还成为甲骨文与谷歌之间逐力的砝码。
相较而言,Go语言的背景更为清晰可靠,它是Google开发的,同时它也比Java年轻十四年(2009年发布)
go还有哪些重量级的项目呢?我引用了一下:
Docker
Kubernetes
Codis
TiDB-Server
etcd - 可靠的分布式 key-value 存储,用于分布式系统的最关键数据
influxdb - 开源的分布式指标、事件和实时分析的可扩展数据库
go-mysql - Go 实现的用于处理 mysql 协议和复制的工具集
如果学习,还有在线网站。
http://www.dooccn.com/go/
下载的话其实还是比较省事的,最新版本是1.10.2
go语言的一些简单调试:
简单总结下:
Java 是企业开发语言, Go 则是系统开发语言。
go介于Java和Python之间,有Java的性能,有Python的简洁。
以上是关于go语言学习初体验的主要内容,如果未能解决你的问题,请参考以下文章
我的Go+语言初体验—— 一个Golang开发者的Go+初体验
我的Go+语言初体验——(速爽到极致的Go+体验感)The Go+ Playground