从零开始的Golang学习,马上开始你的学习之路吧

发布于:2023-06-30 14:00:49

故事的开端

我本是一个默默无闻,兢兢业业的Java开发,但是在上一次跳槽过后加入了现在公司的架构组。在这个云原生快速发展,golang迅速崛起的年代,怎么可能会有搞架构的还不懂golang啊!

于是痛定思痛的我准备开始学习golang,文中也分享了我的学习路线和一些学习书籍

学习的开端

新语言的学习嘛总是要从语法和基础特性开始的,于是去Github和各大网站上找了一些学习资料开始学习基础的语法。

实际上对于大部分的语法来说我都是浅尝辄止,只是在goroutine,channel等golang的特色功能上稍微花了点时间了解了一下他的能力和使用姿势。但是这显然是不够的,简单的了解在后续阅读源代码时会有帮助,但是真的自己上手写可能还是需要更加深入的了解。

学习任何一门语言,都需要了解和学习好基础,至于基于该语言的各种框架,对于我们来说,都是工具。打牢基础,并不是指只熟记语言的关键词和语法,更重要的是我们需要知道它是什么,为什么要这么用,它包括程序思维逻辑和实现方法。

什么是golang

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

Go的语法接近C语言,但对于变量的声明(英语:type declaration)有所不同。Go支持垃圾回收功能。通过goroutine和通道等并行构造可以建造线程池和管道等。

与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收功能、接口等特性的语言级支持。

不同于Java,Go原生提供了关联数组(也称为哈希表(Hashes)或字典(Dictionaries))。

为什么是golang

网上一个陈述说 Go 语言是“C 语言的理念加 Python 的姿态”,个人非常认同这个观点。从我的角度看,就是 Go 语言找到了一个开发效率和执行效率的最佳平衡点。这点非常类似于 Java,就是将效率和开发很好的结合在一起了。

在我熟悉(了解)的语言中,C、C++ 是执行效率最高的语言了,而 Python、PHP、JavaScript 执行效率就相对低些。但是从开发实现业务逻辑的角度,PHP、Python、JavaScript 确实很快的,他们内置了大量的常见数据结构,函数方法。

C(C++) 语言的特征是要尽量保持语言的小巧,不屏蔽底层且底层友好,关注语言的执行效率和性能。而 Python(PHP,JavaScript) 的特征是用尽量少的代码完成尽量多的事,尽量不要关注底层 OS,程序员的精力尽量在业务逻辑实现上。golang的就是尽量平衡。

总的来说就是,对比执行效率优先的语言,golang开发效率更高;对比开发效率优先的语言,golang执行效率更高,它在执行效率和开发效率上做到了平衡。

如何学习golang

golang的语法简单,开发效率高,并不代表就可以不用学习和记忆基础了。学习基础知识是学好任何一门语言的前提。当然,我是反对为了学习而学习的学习方法的。我的学习理念是,带着需求来学习。这样子不至于刚学过的东西,很快就又抛到脑后了。我们从真正的做项目的需求开始,在一步步的需求中,建立起学习的相关知识点的联系,最终达到成功学习golang的目的。一是学习golang设计理念,二是学习golang的特性,三是学习软件设计,四是深入学习golang与软件开发的结合应用。

golang有什么用处

golang有着接近c语言的执行速度,同时也有着接近php语言的开发效率。golang使用起来简单、代码描述效率高、编码规范统一、上手快。这样golang就有着广泛的开发前景。

鉴于golang的特点和设计的初衷,golang作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,golang广泛应用于Web 应用、API应用、下载应用等;除此之外,golang还适用于内存数据库和云平台领域,目前国外很多云平台都是采用开发。

golang学习路线

golang学习资料

本文的分享到这里就已经很长啦,那节省大家时间就不继续拉长篇幅了,需要完整学习大纲以及相关资料的朋友私信回复“学习” 即可


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:电商小白干货——手机网站制作

下一篇:青海制作网页怎么设计出满意的网站

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。