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语言之父丹尼斯.里奇是一辈的。

    go语言学习初体验


我们经常会听到也有叫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语言学习初体验

go语言的一些简单调试:


简单总结下:

Java 是企业开发语言, Go 则是系统开发语言。

go介于Java和Python之间,有Java的性能,有Python的简洁。




以上是关于go语言学习初体验的主要内容,如果未能解决你的问题,请参考以下文章

我的Go+语言初体验—— 一个Golang开发者的Go+初体验

我的Go+语言初体验——Go+ 分数型有理数数据类型

我的Go+语言初体验——Go+ 基本语法之 Switch

我的Go+语言初体验——(速爽到极致的Go+体验感)The Go+ Playground

我的Go+语言初体验——Go+语言构建神经网络实战手写数字识别

每天一点GO语言——Linux环境下安装Go语言环境以及编写Go语言程序初体验