美文网首页
我的 Java 转 Go 之路

我的 Java 转 Go 之路

作者: roseduan写字的地方 | 来源:发表于2021-03-17 13:33 被阅读0次
在这里插入图片描述

从毕业到现在已经接近两年了,在这段时间里,我日常开发都是使用的 Java,因为大学自学的是 Java,然后毕业找到的工作也是做 Java 开发的。现在做 Go 其实也没多久,但还是想把自己的一些经历和学习经验都记录下来,要是能帮到你就更好了哦!

其实 Go 在这两年一直都挺火的,毕竟是 Google 的亲儿子,又凭借着 docker 和 k8s 这两大杀器,自身又有一些相对于其他语言的优势(例如并发处理、通道),而且近几年 Go 的工作岗位也在慢慢增加,一些大厂都逐渐使用 Go 做为开发甚至主力开发语言。去年(2020) 6 月份的时候,我可能是闲着没事干,就在网上订阅了一个 Go 语言的小专栏,然后跟着学了一些,这算是开启了自己的 Go 学习之路吧。

当然平时还是以工作为主,所以那时候学习 Go 仅仅是出于兴趣,并没有要打算转行到 Go,学习起来也没啥压迫感,挺慢的。学习的方式很简单,就是跟着专栏上的内容,照着敲代码,由于有 Java 的经验,所以基础语法知识这一块学习起来没啥压力。我认为编程其实就是熟能生巧的东西,没啥技巧可讲的,特别是对于一些初学者来说更是如此,很多不明白的东西,自己多动手敲几遍就慢慢懂了。

几个月之后,大概 2020 年 10 月份的时候吧,靠着自己在零碎时间的学习,Go 的大多数基础知识我算是掌握了,并且这期间我还在 Leetcode 上刷了一些题,使用 Java 和 Go,算是对基础知识的一个巩固。这也是一个不错的经验,当你学习一门编程语言的时候,如果想要巩固一下基础语法,那么多敲敲代码,例如刷一些 leetcode 的题目就是一个很不错的选择。我的 github 上面记录了自己刷过的一些题,建议你学习的时候,也可以参考一下,动手实现一些常用的数据结构和算法,并且刷一些 leetcode 题目,是一举两得的事情。

https://github.com/roseduan/algo-learn

在国庆节放假前夕,我在网上看到了一个简单的数据库模型的论文,内容很简单,我很快便理解了,于是我想能不能使用 Go 来实现一下,借此更加好的巩固自己的 Go 知识。事不宜迟,我便开始了,但是事情并没有我想象的那么简单,看起来容易,但是代码并不好写,完全不知道如何下手。于是我查阅了其他的资料,借鉴了其他的一些项目,到 12 月初的时候,才开始写这个项目的代码。然后整个 12 月,我都在用 Go 写这个项目,大概一个月的时间,项目最初的版本便写完了,我将它放到了 github 上:

https://github.com/roseduan/rosedb

经过这一个月的代码量,我自认为对 Go 算是入门了。这也是一个很不错的经验,那便是学习的目的在于实践,如果知识只停留在理论层面,那么你对它的理解和认识一定是模糊的,一定要去实践一下,才会发现更多的为什么,才会真正搞懂自己在理论学习阶段的很多没搞懂的东西。

在这里插入图片描述

如果你也正在学习 Go,并且不知道有啥好的实战项目,那么强烈建议你看一下我的这个项目,这是一个很简单的数据库,我把它命名为 rosedb(我的英文名字是 Rose),Go 的大多数知识都用到了,一定会是巩固 Go 知识的一个绝佳的素材。你可以自己先耐心的看,然后再试着自己写,或者给这个项目提交代码,完善功能。

到了 2020 年底,我有了跳槽的想法,于是开始找工作,我在我的简历上写了 Java 和 Go,投递简历的时候,Java 和 Go 的岗位都有投递。先后面了几家公司,有两家 Java 的,有两家 Go 岗位的,在面试 Go 的时候,面试官都让我介绍一下我的开源项目 rosedb,这其实说明,如果你的简历上有不错的开源项目,不管 star 数量多不多,都会是一个不错的亮点 ,因为这至少能证明你的动手能力、编程能力等等都是不错的。

现在在 B 站的工作主要是用 Go,进入到实际的项目之后,才发现其实我还是有很多不懂的东西, 比如我们项目中使用到的 gRPC 和 GORM,于是我在阅读项目代码的时候,会结合着官方文档学习一下这些技术,也会针对一些比较重点的内容,买一些书籍结合着来看,然后在实际项目中不断踩坑历练,对于一些业务相关的基础技术就能够很好的掌握了。

现在回头来看,其实当初我并没有要转语言方向的打算,只是碰巧学习了一下 Go,然后找工作的时候恰好找到了 Go 开发岗位的工作,算是误打误撞吧。这里也给看到这篇文章的小伙伴一些良心的建议,其实国内的这些互联网公司,技术总体来说还是服务于业务的,所以无论你学习的是什么技术,只要能够在业务中产生价值,让你拥有成就感,我觉得就是一件挺好的事情。关注技术热潮不是什么坏事,但是切忌心浮气躁,看着什么火就去学什么,到头来很可能什么都学不精通,最好的便是专注于某一个领域,在精力有余的情况下,学习一点自己感兴趣的东西,这也可能也会给自己的未来增加一些不确定性。

想要和我交流学习心得 & 面试经验,欢迎关注我的微信公众号【roseduan写字的地方】,等你来哦!

相关文章

  • 我的 Java 转 Go 之路

    从毕业到现在已经接近两年了,在这段时间里,我日常开发都是使用的 Java,因为大学自学的是 Java,然后毕业找到...

  • Java转Go后端开发Landing记录

    Java转Go后端开发Landing记录 基础语法 主要看Go 语言教程 | 菜鸟教程[https://www.r...

  • ChatGPT 使用场景

    官方场景 代码相关 程序语言转换,比如Python转Java。目前支持语言包括Python, Java, Go, ...

  • Go语言能够取代Java,成为下一个王者吗?

    近几年来,Go语言真是越来越火了。我也做过几个Go语言的项目了,我们公司很多微服务的项目也在由Java往Go上面转...

  • Go语言如何开发RESTful API接口服务

    此前一直写java,最近转go了,总结一下如何用Go语言开发RESTful API接口服务,希望对Go新手有所帮助...

  • 我的技术栈思路

    后端和架构师之路: 平台: linux/Unix语言:C/C++/Java/Shell/Python/Go/Lua...

  • 玩游戏,赚了一万钻

    go!go!go!转!转!转!眼睛跟着转盘转了N次圈万钻!万钻!万转!唉!又是2个钻! go! go! go!...

  • 一 单例模式详解

    转自java成神之路 概念 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这...

  • 纪转型之路

    转Java之路正式开启。说幸运,比很多半路想做Java的幸运多了,说不幸,当初没选Java,但当初选了Java后可...

  • 【Java转Go】弄清GOPATH

    编译语言 vs 解释语言 本文会参照Java来比较分析GO的编译,为了解两者区别,阅读正文前可以先了解下这两个概念...

网友评论

      本文标题:我的 Java 转 Go 之路

      本文链接:https://www.haomeiwen.com/subject/jizscltx.html